我使用的是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个匹配的文档。为了获得更多匹配的文档,您可以使用from
和size
进行分页:
获取前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