网址https://www.elastic.co/guide/en/elasticsearch/client/java-api/current/java-search.html
Java API [2.3] ? Search API
Search API使用检索API可以执行一个检索查询语句并且获得匹配查询的检索命中结果。检索查询语句可以检索一个或多个index的
一个或多个type。查询请求的请求体使用SearchSourceBuilder构造,下面是一个例子:
import org.elasticsearch.action.search.SearchResponse;
import org.elasticsearch.action.search.SearchType;
import org.elasticsearch.index.query.QueryBuilders.*;
SearchResponse response = client.prepareSearch("index1", "index2")
.setTypes("type1", "type2")
.setSearchType(SearchType.DFS_QUERY_THEN_FETCH)
.setQuery(QueryBuilders.termQuery("multi", "test")) // Query
.setPostFilter(QueryBuilders.rangeQuery("age").from(12).to(18)) // Filter
.setFrom(0).setSize(60).setExplain(true)
.execute()
.actionGet();
注意到上面的所有参数都是可选的。下面是不设置参数的最小型查询请求:
// 按默认选择匹配整个集群
SearchResponse response = client.prepareSearch().execute().actionGet();
NOTE:尽管java API定义的额外的查询类型QUERY_AND_FETCH和DFS_QUERY_AND_FETCH,这些模式内部进行了优化
,他们不应该被用户显式执行