eri*_*ric 6 java elasticsearch
我正在使用此代码:
client.prepareSearch("test").addSort("dateUpdated", SortOrder.DESC)
.setSearchType(SearchType.DFS_QUERY_AND_FETCH)
.setIndices("reach")
.setTypes(types)
.setQuery(QueryBuilders.queryString(queryString))
.setFrom(0).setSize(2).setExplain(true)
.execute()
.actionGet()
Run Code Online (Sandbox Code Playgroud)
客户端是远程客户端.总共有5个结果,基于我的上述结果,我只希望有两个结果可以回来.然而所有5人都回来了.如果我将大小设置为0,则没有任何回复(正如预期的那样)我缺少什么?我觉得我误解了一些关于起源/大小的东西.我的查询字符串只是"name:*".任何帮助是极大的赞赏!
这是关于如何设置大小而不打扰分片数量的另一种解释. http://elasticsearch-users.115913.n3.nabble.com/About-setsize-Java-API-td3216996.html
"query and fetch"是最快的搜索类型,但是遇到了每个分片获取指定大小的问题.使用"query then fetch"将解决问题.如果未指定,它也是默认搜索类型.
有关搜索类型的更多信息:http: //www.elasticsearch.org/guide/en/elasticsearch/reference/current/search-request-search-type.html