为什么弹性搜索JavaAPI忽略了我们的查询限制?
我正在使用以下代码:为什么弹性搜索JavaAPI忽略了我们的查询限制?,java,
elasticsearch,Java,
elasticsearch,我正在使用以下代码: client.prepareSearch("test").addSort("dateUpdated", SortOrder.DESC) .setSearchType(SearchType.DFS_QUERY_AND_FETCH) .setIndices("reach") .setTypes(types) .setQuery(QueryBuilders.queryString(qu
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()
客户端是远程客户端。总共有5个结果,基于我上面所说的,我只希望有两个结果会回来。然而,这5个人都回来了。如果我将大小设置为0,则不会返回(如预期的那样)我缺少什么?我觉得我对from/size的东西有些误解。我的查询字符串只是“name:*”。非常感谢您的帮助 下面是关于如何设置大小的另一种解释,而不必担心碎片的数量。 “query and fetch”是最快的搜索类型,但存在每个碎片获取指定大小的问题。使用“查询然后获取”将解决此问题。当未指定任何搜索类型时,它也是默认的搜索类型 有关搜索类型的详细信息:
这是正确的答案-我们在不久前的项目中发现了这一点,但我没有回来更新我的答案。谢谢我对“查询和获取”类型的搜索有这个问题。