【发布时间】:2021-10-03 11:26:42
【问题描述】:
我有一个 ES 查询,它是用支持intervals 查询的更新版本的 ES 编写的。
但我想将这个包含intervals 的简单查询转换为在不支持intervals 的早期版本6 上运行的查询
GET /myindex/_search
{
"query": {
"bool": {
"should": [
{
"intervals": {
"title_en": {
"match": {
"query": "title phrase in en",
"max_gaps": -1,
"ordered": true
}
}
}
},
{
"intervals": {
"title_de": {
"match": {
"query": "title phrase in de",
"max_gaps": -1,
"ordered": true
}
}
}
}
],
"minimum_should_match" : 1,
"filter": [
{
"terms": {"status.id": [1,2]}
}
]
}
}
}
我想我应该用query_string 解决它。
我写了这样的东西(部分):
{
"query_string": {
"default_field": "title_en",
"query": "\"title phrase in en\"~3"
}
}
但我认为这不是正确的解决方案。
【问题讨论】:
-
你用的是哪个版本的?
-
我需要在 6.2.2 版本上运行它
-
有没有办法删除区间查询并进行转换?
标签: elasticsearch elastic-stack