query elasticsearch可以按id获取文档,但在query all中找不到



我使用的是ES 2.3,现在我将其升级到ES 7.4。数据是通过自动测试生成的。因此,它将始终是32份文件。

我发现当我使用ES 2.3和query all时,我得到了所有32个文档。文档,例如data.id: 5dba917f61b48a327c948557,可以在结果中找到。我可以通过data.id查询,也可以找到文档。

但如果我使用ES 7做同样的事情,我CAN NOT会找到带有data.id:5dba917f61b48a327c948557的文档在查询中。http://localhost:9200/test-试听-2019-10/搜索?漂亮=真实的结果。

{
"took" : 16,
"timed_out" : false,
"_shards" : {
"total" : 1,
"successful" : 1,
"skipped" : 0,
"failed" : 0
},
"hits" : {
"total" : {
"value" : 32,
"relation" : "eq"
},
"max_score" : 1.0,
"hits" : [
{
"_index" : "test-auditing-2019-10",
"_type" : "_doc",
"_id" : "J0LIIG4Bw-26hPm9OiXO",
...

查询时我确实得到了文件http://localhost:9200/test-试听-2019-10/搜索?q=数据。id:5dba917f61b48a327c948557&漂亮=真。

...
"hits" : {
"total" : {
"value" : 2,
"relation" : "eq"
},
"max_score" : 2.3795462,
"hits" : [
{
"_index" : "test-auditing-2019-10",
"_type" : "_doc",
"_id" : "RELIIG4Bw-26hPm9WyUP",
...

怎么了?这是意料之中的事吗?非常感谢。

ElasticSearch 2.3太旧了,可能会返回所有匹配的文档。我没有这个版本,无法复制。

然而,即使您的查询与所有文档匹配,现代ElasticSearch默认情况下也只返回10个匹配的文档。为了获得更多匹配的文档,您可以使用fromsize进行分页:

获取前32个文档:

http://localhost:9200/test-auditing-2019-10/_search?from=0&size=32&pretty=true

获取接下来的32个文档:

http://localhost:9200/test-auditing-2019-10/_search?from=32&size=32&pretty=true

相关内容

最新更新