查询字符串嵌入了bool查询

时间:2017-02-27 09:46:52

标签: elasticsearch

我使用以下查询与bool必须

{
  "query": { 
  "bool" : {
    "must" : [ {
      "match" : {
        "orgid" : {
          "query" : 13831,
          "type" : "boolean"
        }
      }
    }, {
      "query_string" : {
        "query" : "*07* AND *fres*"
      }
    } ]
  }
}
}

即使有org id为13831&的文档,它也会命中为null。在文档中,所有字段中都有一个数据为07和fres。此查询中有任何错误

1 个答案:

答案 0 :(得分:1)

编辑:问题可能是您使用匹配查询而不是术语查询。术语查询用于完全匹配。以下内容将结果集仅过滤为您想要的org_id,然后它将查找07和fres。请试一试。

"query": {
    "bool" : {
      "must" : {
        "query_string" : {
          "query" : "*07* AND *fres*"
         }
      },
      "filter": {
        "term" : { "orgid" : 13831 }
      }
    }
  }