elasticsearch - 如何在特定 ID 上设置不条件以不在 DSL 查询中搜索
问题描述
这是elasticsearch的字典模式 {'id': 3},{'id': 4},{'id': 5},{'id': 6}
以下是搜索“Country Owner.id.keyword”和“Territory Owner.id.keyword”的查询
- 我需要设置一个条件,说它不应该使用 id: [3,4,5] 进行搜索,所以我
output
将只包含来自 6 的值('ABC101'
如果存在)
a = {'from': 0, 'size': 200,'query': {
'bool': {
'should': [
{
'terms': {
'Country Owner.id.keyword': [
'ABC101'
]
}
},
{
'terms': {
'Territory Owner.id.keyword': [
'ABC101'
]
}
}
]
}
}
}
解决方案
您可以在子句中使用术语查询must_not
{
"query": {
"bool": {
"should": [
{
"terms": {
"Country Owner.id.keyword": [
"ABC101"
]
}
},
{
"terms": {
"Territory Owner.id.keyword": [
"ABC101"
]
}
}
],
"must_not": {
"terms": {
"id": [
3,
4,
5
]
}
}
}
}
}
推荐阅读
- logstash - 是否可以使用 cf 事件作为 logstash 中的输入?
- xml - 需要 XSLT 将具有不同属性值的 xml 转换为具有 CDATA 的 xml
- angular - 将组件中的复选框绑定到其他组件中的表列的更好方法
- bash - 相同的 KSH 脚本在测试环境中运行,但在生产中失败
- phpspec - 使用 phpspec 测试输出缓冲
- processing - 处理:椭圆没有以 0.5 增长,但任何值都高于 1?
- css - 将引导主题导入到 ruby on rails 应用程序的问题
- matlab - 用 MATLAB 拟合多输入多输出函数
- python - 未调用函数中的 pyplot.gca() 产生另一个子图
- ansible - Ansible playbook 输出以在最后列出所有失败的项目