为什么Elastic Search java API忽略了我们的查询限制?

前端之家收集整理的这篇文章主要介绍了为什么Elastic Search java API忽略了我们的查询限制?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在使用此代码
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,则没有任何回复(正如预期的那样)我缺少什么?我觉得我误解了一些关于起源/大小的东西.我的查询字符串只是“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

猜你在找的Java相关文章