如何按版本搜索文档?

Hov*_*sep 8 elasticsearch

是否可以按版本搜索弹性搜索索引中的文档?我试试这个:

curl -XGET eshost:9200/myindex/mytype/_search -d '{query:{match:{_version:"2"}}}'
Run Code Online (Sandbox Code Playgroud)

但它不起作用.

我需要这样的查询来获取所有从未更新过的文档.

Sid*_*ige 10

尝试使用版本

返回每个搜索匹配的版本.

{
    "version": true,
    "query" : {
        "term" : { "user" : "kimchy" }
    }
}
Run Code Online (Sandbox Code Playgroud)

  • 这仅返回文档最新版本的版本字段。它没有说返回同一文档的 3 个版本。 (2认同)

Joh*_*one 6

不幸的是,您无法通过_version查询或过滤 - 问题是该字段未编入索引,因此查询和过滤器无法访问它:

http://elasticsearch-users.115913.n3.nabble.com/Can-i-filter-query-by-version-td4044331.html


小智 5

您可以像平常一样搜索并将 version 设置为 true,它将返回每个文档的所有版本的计数:

GET indextest/original/_search?pretty=true
{
    "version": true
}
Run Code Online (Sandbox Code Playgroud)