elasticsearch - Elasticsearch 特殊条件查询
问题描述
我的弹性搜索文档中有条件,例如:
{
...
"conditions": [
{
"required": ["a"],
"prohibited": ["f"]
},
{
"required": ["a", "b"],
"prohibited": ["c", "d"]
}
]
}
并且有一个数据集,例如["a", "b", "f"]
(一个true
例子,因为第二个条件匹配)
现在我想编写一个 Elasticsearch-Query 来返回所有条件适用于我的数据集的文档。我坚持的棘手部分是不要放松单一条件关系。中的所有条目必须在组合中required
匹配并且相同。prohibited
希望有一位电子专家可以给我一个方法,解决这个挑战的最佳方法是什么。目前我在考虑我们文档中这些条件的脚本查询或不同结构。但也许有一种方法(我没有看到)将其表述为普通的 ES-Query。
解决方案
经过多次尝试和挫折后,我决定用一个无痛的脚本来解决我的问题。从性能的角度来看,它并不完美,但它确实有效。
推荐阅读
- c++ - 阶乘中什么模板使用比较好
- linux - PostgreSQL 9.2 服务不断失败
- crud - Nestjsx crud-request 如何加入过滤器但排除响应
- git - 在 Git 中创建别名以组合三个单独的命令
- python - 遍历 json 数组并组合值
- matplotlib - 不要使用 matplotlib 将第三个数据集放在直方图中
- javascript - 更新工作表、创建 PDF、pdf 中的旧数据(谷歌应用脚本)
- git - 如何在不删除分支的情况下将分支重置为另一个分支的基础
- botframework - 保护 LUIS 和 QnaMaker 的端点
- java - Groovy 字节文字拼图