如何按版本搜索文档?

时间:2014-07-14 06:35:09

标签: elasticsearch

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

curl -XGET eshost:9200/myindex/mytype/_search -d '{query:{match:{_version:"2"}}}'

但它不起作用。

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

4 个答案:

答案 0 :(得分:10)

尝试使用版本

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

{
    "version": true,
    "query" : {
        "term" : { "user" : "kimchy" }
    }
}

答案 1 :(得分:6)

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

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

答案 2 :(得分:2)

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

GET indextest/original/_search?pretty=true
{
    "version": true
}

答案 3 :(得分:0)

您可以尝试

GET index/item/_search?pretty=version
{
    "version": true
}