【发布时间】:2020-08-24 11:47:06
【问题描述】:
我正在使用最新版本的 Elastic Search (7.9),并且我正在尝试找到一种以 AND 形式进行多词查询的好方法。
基本上我想做的是:
select * where field1 === 'word' AND field2 === 'different word'
我目前正在使用 term 对 field1 进行精确的关键字匹配。但是添加第二个字段让我有些兴奋。
{
"query": {
"term": {
"field1": {
"value": "word"
}
}
}
}
这是我当前的查询,我尝试使用 BOOL。我在以前的版本中遇到了可以使用过滤查询的答案。但我似乎也无法让它发挥作用。
谁能帮帮我。这真的是我的疯子。
编辑
这是我尝试使用带有多个术语的 bool / must 的方法。但是即使我知道在这种情况下这个查询应该返回数据,我也没有得到任何结果
{
"query": {
"bool": {
"must": [
{
"term": {
"field1": {
"value": "word"
}
}
},
{
"term": {
"field2": {
"value": "other word"
}
}
}
]
}
}
}
【问题讨论】:
-
您能否添加映射、应该出现在输出中的文档以及您在查询中使用的确切值?
-
嗨 @SahilGupta 原来我忘了关键字类型是区分大小写的。
-
啊啊啊!!!有时简单的事情会占用太多时间
标签: elasticsearch elasticsearch-7