Elasticsearch中的MUST和MUST_NOT查询

时间:2018-10-09 10:18:48

标签: elasticsearch

我已建立索引文件,其中元数据“ User_Id”包含数据“ A” 和“ B”。我正在尝试检查文档“ A NOT B”。我无法获得所需的输出。我被限制为不使用“查询字符串查询”,而使用“ NOT”运算符。 must_not不支持multi_match吗?

   {
      "from": 0,
      "size": 24,
      "query": {
        "bool": {
          "must": [
            {
              "multi_match": {
                "query": "A",
                "fields": ["User_Id"],
                "fuzziness": "AUTO"
              }
            }
          ],
          "must_not" :[
             {
              "multi_match": {
                "query": "B",
                "fields": ["User_Id"],
                "fuzziness": "AUTO"
              }
            }
          ]
        }
      }
      }

1 个答案:

答案 0 :(得分:0)

您需要删除模糊自动功能。此设置允许字符串中的近似值:具有模糊性“ AUTO”的查询“ AUTO13273”将匹配AUTO13272和AUTO13273,因为这两个字符串之间的距离仅为1。

请参见fuzziness documentation here