Quantcast

want to search on multiple fields

classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

want to search on multiple fields

mukesh
I want to  search on multiple fields,and using this ..but it reds only last line so please suggest
                  how to  search on multiple fields with java



                            SearchResponse response = client.prepareSearch("resume_index")
                                     .setSearchType(SearchType.DFS_QUERY_THEN_FETCH)
                                    //   .addScriptField("KeySkills","asp",QueryBuilders.prefixQuery("CurrentLocation","n",Map<"CurrentLocation","n">))
                                        .setQuery(QueryBuilders.termQuery("Name", "Mahi Singh"))
                                        .setQuery(QueryBuilders.prefixQuery("CurrentLocation","d"))
                                        // .setQuery(QueryBuilders.boolQuery().must(termQuery("CurrentLocation", "d")))
                                         .setQuery(QueryBuilders.prefixQuery("Name", "Mahi Singh"))
                                       .setQuery(QueryBuilders.prefixQuery("CurrentLocation","d"))
                                       .setQuery(QueryBuilders.boolQuery().must(termQuery("CurrentLocation","delhi")).must(termQuery("From","****[hidden email]")))
                                        .setFrom(0)
                                        .setSize(5)
                                        .setExplain(true)
                                        .execute()
                                        .actionGet();

--
You received this message because you are subscribed to the Google Groups "elasticsearch" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/groups/opt_out.
 
 
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: want to search on multiple fields

dadoonet

See Bool Queries.


Does it help?

--
David ;-)
Twitter : @dadoonet / @elasticsearchfr / @scrutmydocs


Le 16 févr. 2013 à 08:15, MUKESH PANDEY <[hidden email]> a écrit :

I want to  search on multiple fields,and using this ..but it reds only last line so please suggest
                  how to  search on multiple fields with java



                            SearchResponse response = client.prepareSearch("resume_index")
                                     .setSearchType(SearchType.DFS_QUERY_THEN_FETCH)
                                    //   .addScriptField("KeySkills","asp",QueryBuilders.prefixQuery("CurrentLocation","n",Map<"CurrentLocation","n">))
                                        .setQuery(QueryBuilders.termQuery("Name", "Mahi Singh"))
                                        .setQuery(QueryBuilders.prefixQuery("CurrentLocation","d"))
                                        // .setQuery(QueryBuilders.boolQuery().must(termQuery("CurrentLocation", "d")))
                                         .setQuery(QueryBuilders.prefixQuery("Name", "Mahi Singh"))
                                       .setQuery(QueryBuilders.prefixQuery("CurrentLocation","d"))
                                       .setQuery(QueryBuilders.boolQuery().must(termQuery("CurrentLocation","delhi")).must(termQuery("From","****[hidden email]")))
                                        .setFrom(0)
                                        .setSize(5)
                                        .setExplain(true)
                                        .execute()
                                        .actionGet();

--
You received this message because you are subscribed to the Google Groups "elasticsearch" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/groups/opt_out.
 
 

--
You received this message because you are subscribed to the Google Groups "elasticsearch" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/groups/opt_out.
 
 
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: want to search on multiple fields

mukesh
Thanks for reply sir,

                I have already tried  Bool Queries. likes this
 
.setQuery(QueryBuilders.boolQuery()
.must(termQuery("KeySkills","asp"))
.must(termQuery("CurrentLocation", "delhi"))
.must(termQuery("CTC", "1."))
.must(termQuery("TotalExperience", "1")))

          But i think Bool Query work always same type filed with multiple times ......and My requirement is  different fileds..I want to search with more than one types filed..with java api.                
                              
                        


On Sat, Feb 16, 2013 at 1:04 PM, David Pilato <[hidden email]> wrote:

See Bool Queries.


Does it help?

--
David ;-)
Twitter : @dadoonet / @elasticsearchfr / @scrutmydocs


Le 16 févr. 2013 à 08:15, MUKESH PANDEY <[hidden email]> a écrit :

I want to  search on multiple fields,and using this ..but it reds only last line so please suggest
                  how to  search on multiple fields with java



                            SearchResponse response = client.prepareSearch("resume_index")
                                     .setSearchType(SearchType.DFS_QUERY_THEN_FETCH)
                                    //   .addScriptField("KeySkills","asp",QueryBuilders.prefixQuery("CurrentLocation","n",Map<"CurrentLocation","n">))
                                        .setQuery(QueryBuilders.termQuery("Name", "Mahi Singh"))
                                        .setQuery(QueryBuilders.prefixQuery("CurrentLocation","d"))
                                        // .setQuery(QueryBuilders.boolQuery().must(termQuery("CurrentLocation", "d")))
                                         .setQuery(QueryBuilders.prefixQuery("Name", "Mahi Singh"))
                                       .setQuery(QueryBuilders.prefixQuery("CurrentLocation","d"))
                                       .setQuery(QueryBuilders.boolQuery().must(termQuery("CurrentLocation","delhi")).must(termQuery("From","****[hidden email]")))
                                        .setFrom(0)
                                        .setSize(5)
                                        .setExplain(true)
                                        .execute()
                                        .actionGet();

--
You received this message because you are subscribed to the Google Groups "elasticsearch" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/groups/opt_out.
 
 

--
You received this message because you are subscribed to the Google Groups "elasticsearch" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/groups/opt_out.
 
 



--
[hidden email]
Laitkor.infosolution pvt ltd

--
You received this message because you are subscribed to the Google Groups "elasticsearch" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/groups/opt_out.
 
 
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: want to search on multiple fields

simonw-2
In reply to this post by mukesh
I recommend you to take a look at Match Query or Multi Match Query (for multi fields) 

http://www.elasticsearch.org/guide/reference/query-dsl/multi-match-query.html

this should be a good starter for what you want to do. Hope this helps

simon

On Saturday, February 16, 2013 8:15:31 AM UTC+1, MUKESH PANDEY wrote:
I want to  search on multiple fields,and using this ..but it reds only last line so please suggest
                  how to  search on multiple fields with java



                            SearchResponse response = client.prepareSearch("resume_index")
                                     .setSearchType(SearchType.DFS_QUERY_THEN_FETCH)
                                    //   .addScriptField("KeySkills","asp",QueryBuilders.prefixQuery("CurrentLocation","n",Map<"CurrentLocation","n">))
                                        .setQuery(QueryBuilders.termQuery("Name", "Mahi Singh"))
                                        .setQuery(QueryBuilders.prefixQuery("CurrentLocation","d"))
                                        // .setQuery(QueryBuilders.boolQuery().must(termQuery("CurrentLocation", "d")))
                                         .setQuery(QueryBuilders.prefixQuery("Name", "Mahi Singh"))
                                       .setQuery(QueryBuilders.prefixQuery("CurrentLocation","d"))
                                       .setQuery(QueryBuilders.boolQuery().must(termQuery("CurrentLocation","delhi")).must(termQuery("From","****<a href="javascript:" target="_blank" gdf-obfuscated-mailto="kZSqMOTmVtkJ">r...@gmail.com")))
                                        .setFrom(0)
                                        .setSize(5)
                                        .setExplain(true)
                                        .execute()
                                        .actionGet();

--
You received this message because you are subscribed to the Google Groups "elasticsearch" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/groups/opt_out.
 
 
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re:using filter for search on multiple fields

mukesh
this is my Json:
 "_type":"emls","_source":
{"ResumeHeadline":"System/Networkadmin with 3 yrs of Experience    ",
"LastEmployer":" 3i Infotech consultancyservices    ",
"Subject":"Fwd: Naukri.com - SA:- September 2012, Linux System Administrator - Salary Best in Industry - Project Assistant, Homi Bhabha Centre for Science & Education, TIFR Mankhurd, Mumbai., 3.0 yrs, Navi Mumbai",
"CurrentDesignation":null,
"Recommendations":" Not Mentioned    ",
"LastDesignation":" Assistant Engineer    ",
"CurrentLocation":" NaviMumbai, Maharashtra, INDIA    ",
"Path":"E:\\emls\\output\\laitkor@gmail.com.tarubairam_21.doc","TotalExperience":null,
"Name":null,"Lastmodifiedon":" 07-Feb-2013",
"Landline":"91--    ",



Now using this code for filter search is any thing wrong ?

XContentBuilder indexSettings = null;
                Settings settings = ImmutableSettings.settingsBuilder().put("cluster.name", "elasticsearch").build();
                Client client = new TransportClient(settings).addTransportAddress(new InetSocketTransportAddress("192.168.X.XX", 9300));
                client.admin().indices().prepareRefresh("resume_index").execute().actionGet();
                FilterBuilders.andFilter(
                       // FilterBuilders.prefixFilter("keyskil", "asp"),
                        FilterBuilders.prefixFilter("CurrentLocation", "delhi")
                        );
                 AndFilterBuilder queryFilters = FilterBuilders.andFilter();
        // queryFilters.add(FilterBuilders.prefixFilter("keyskil", "asp"));
         queryFilters.add(FilterBuilders.prefixFilter("CurrentLocation", "n"));
 
 
       FilterBuilder aggFilter = FilterBuilders.andFilter(queryFilters);
      QueryBuilder queryBuilder = QueryBuilders.filteredQuery(QueryBuilders.prefixQuery("CurrentLocation", "d"),aggFilter);
               
                SearchResponse response = client.prepareSearch("resume_index")
                                             .setSearchType(SearchType.QUERY_AND_FETCH)
                                             .setQuery(queryBuilder)
                                    .setFilter(aggFilter)
                                           
                                                                                //.setQuery(QueryBuilders.termQuery("Name", "Mahi Singh"))
                                                                                //.setQuery(QueryBuilders.prefixQuery("CurrentLocation","d"))
                                      // .setQuery(QueryBuilders.boolQuery().must(termQuery("CurrentLocation", "delhi")))
                                        // .setQuery(QueryBuilders.prefixQuery("Name", "Mahi Singh"))
                                      // .setQuery(QueryBuilders.prefixQuery("CurrentLocation","d"))
                                      // .setQuery(QueryBuilders.boolQuery().must(termQuery("CurrentLocation","delhi")).must(termQuery("From","laitkor@gmail.com")))
                                                                                .setFrom(66)
                                                                                .setSize(100)
                                                                                .setExplain(true)
                                                                       
                                                                                .execute()
                                                                                .actionGet();
               
               
      System.out.println(response.toString());

 find result:
---------------------------------
                   {
  "took" : 16,
  "timed_out" : false,
  "_shards" : {
    "total" : 5,
    "successful" : 5,
    "failed" : 0
  },
  "hits" : {
    "total" : 0,
    "max_score" : null,
    "hits" : [ ]
  }
}
Loading...