|
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. |
|
See Bool Queries. Does it help? -- David ;-) Twitter : @dadoonet / @elasticsearchfr / @scrutmydocs 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. |
|
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:
-- [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. |
|
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 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. |
|
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" : [ ] } } |
| Powered by Nabble | Edit this page |
