20、ES实战:实现query_string

常用词查询
常用词查询使用 commonTermsQuery

public class EsCommonTerms throws UnknownHostException{
   
     
    public void queryString(TransportClient client){
   
     
       //commonTermsQuery查询
       Querybuilder build = QueryBuilders.commonTermsQuery("name", "zhaoliu");
	   
	   SearchResponse response = client.prepareSearch("lib3")
									   .setQuery(build)
									   .get();
	   SearchHits hits = response.getHits();
	   for(SearchHit hit:hits){
   
     
		   System.out.println(hit.getSourceAsString());
	   }
    }
}

全文查询
query_string 等价于GET /myindex/article/_search?q=post_date:2018-05-10

public class EsQueryString throws UnknownHostException{
   
     
    public void queryString(TransportClient client){
   
     
       //query_string查询,+号表示必须含有,-号表示不含有
       Querybuilder build = QueryBuilders.queryStringQuery("+changge -hejiu");

	   //simpleQueryStringQuery设定的是满足其中一个条件即可
	   Querybuilder build = QueryBuilders.simpleQueryStringQuery("+changge -hejiu");
	   
	   SearchResponse response = client.prepareSearch("lib3")
									   .setQuery(build)
									   .get();
	   SearchHits hits = response.getHits();
	   for(SearchHit hit:hits){
   
     
		   System.out.println(hit.getSourceAsString());
	   }
    }
}

版权声明:本文不是「本站」原创文章,版权归原作者所有 | 原文地址: