Elasticsearch特殊条件查询
Elasticsearch special conditions query
我的elasticsearch文档中有条件,例如:
{
...
"conditions": [
{
"required": ["a"],
"prohibited": ["f"]
},
{
"required": ["a", "b"],
"prohibited": ["c", "d"]
}
]
}
并且有一个数据集,例如 ["a", "b", "f"]
(一个 true
示例,因为第二个条件匹配)
现在我想编写一个 Elasticsearch-Query,returns 条件适用于我的数据集的所有文档。我坚持的棘手部分是不要松开单一条件关系。 required
中的所有条目必须在组合 中与 匹配,与 prohibited
相同。
希望有一位 es 专家可以告诉我解决这一挑战的最佳方法。目前,我考虑在我们的文档中使用脚本查询或这些条件的不同结构。但也许有一种方法(我没有看到)将其表述为正常的 ES 查询。
经过多次尝试和挫折后,我决定使用无痛脚本来解决我的问题。从性能的角度来看,它并不完美,但它确实有效。
我的elasticsearch文档中有条件,例如:
{
...
"conditions": [
{
"required": ["a"],
"prohibited": ["f"]
},
{
"required": ["a", "b"],
"prohibited": ["c", "d"]
}
]
}
并且有一个数据集,例如 ["a", "b", "f"]
(一个 true
示例,因为第二个条件匹配)
现在我想编写一个 Elasticsearch-Query,returns 条件适用于我的数据集的所有文档。我坚持的棘手部分是不要松开单一条件关系。 required
中的所有条目必须在组合 中与 匹配,与 prohibited
相同。
希望有一位 es 专家可以告诉我解决这一挑战的最佳方法。目前,我考虑在我们的文档中使用脚本查询或这些条件的不同结构。但也许有一种方法(我没有看到)将其表述为正常的 ES 查询。
经过多次尝试和挫折后,我决定使用无痛脚本来解决我的问题。从性能的角度来看,它并不完美,但它确实有效。