开发者社区> 问答> 正文

elasticsearch如何匹配多个术语查询?

0

假设我有一种查询语言,可将“自然”语言查询解析为弹性搜索查询。

假设我们有以下查询:

(type == "my-type" || device_id == "some-device-id") && id == "123456789" 如何在弹性搜索中实现?

我尝试过:

{ "bool": { "filter": { "term": { "id": "123456789" } }, "should": [ { "term": { "type": "my-type" } }, { "term": { "device_id": "some-device-id" } } ] } } 但这不是我想要的。

我究竟做错了什么?

展开
收起
被纵养的懒猫 2019-09-27 19:44:13 1340 0
1 条回答
写回答
取消 提交回答
  • { "query": { "bool": { "must": [{ "bool": { "should": [{ "term": { "deletionStateCode.keyword": { "value": "0", "boost": 1 } } }, { "term": { "enabled.keyword": { "value": "1", "boost": 1 } } } ], "adjust_pure_negative": true, "boost": 1 } }, { "term": { "id.keyword": { "value": "123456789", "boost": 1 } } } ], "adjust_pure_negative": true, "boost": 1 } } } 试试这个

    2019-11-11 10:48:10
    赞同 1 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
阿里云Elasticsearch体系架构与特性解析 立即下载
开源与云:Elasticsearch应用剖析 立即下载
《Elasticsearch全观测解决方案》 立即下载