【发布时间】:2017-03-04 15:08:14
【问题描述】:
我正在尝试按范围过滤 elasticsearch 中的 _id 字段(未启用索引)。可能吗?如果是这样,它是如何做到的? 我在 elasticsearch 文档中读到我们可以使用 'ids' 通过 _id 和类型进行查询,但我看不到如何使用范围过滤器来完成。 (我不想在 _id 上启用索引)。
{
"from": 0,
"size": 20,
"query": {
"match_all": {}
},
"filter": {
"range": {
"_id": {
"gt": "51f7b6b7710c42b136027581"
}
}
},
"sort": {
"pubdate": {
"order": "desc"
}
}
}
【问题讨论】:
-
我认为这是做不到的。我有一种感觉
_id被散列以便快速查找,一旦你散列一些东西,你就会失去它的“价值”。您需要将 id 存储在文档中。 -
您确定存储 ramsey 吗?您必须索引 id(默认情况下不是这种情况),因为范围查询匹配具有定义范围内的术语的字段的文档。
-
你能用指定的(整数)_id代替elastic提供的默认_id来索引你的文档吗?
标签: filter elasticsearch range