【问题标题】:How to fuzzy query against multiple fields in elasticsearch?如何对elasticsearch中的多个字段进行模糊查询?
【发布时间】:2016-07-20 07:34:56
【问题描述】:

这是我的查询:

"query":{
    "fuzzy":{
        "author":{
            "value":query,
            "fuzziness":2
        },
        "career_title":{
            "value":query,
            "fuzziness":2
        }
    }
}

这是 Node.js 中回调的一部分。 Query(作为要比较的值插入)在函数的前面设置。

我需要它能够做的是模糊地检查文档的authorcareer_title,并返回在任一字段中匹配的任何文档。上面的语句从不返回任何东西,每当我尝试访问它应该创建的对象时,它都会说它是未定义的。我知道我可以编写两个查询,一个来检查每个字段,然后按分数对结果进行排序,但我觉得为一个字段搜索每个对象两次会比为两个字段搜索每个对象一次要慢。

【问题讨论】:

    标签: node.js mongodb elasticsearch mongoose mongoosastic


    【解决方案1】:

    https://www.elastic.co/guide/en/elasticsearch/guide/current/fuzzy-match-query.html

    如果您在此处看到,在多重匹配查询中您可以指定模糊度...

    {
      "query": {
        "multi_match": {
          "fields":  [ "text", "title" ],
          "query":     "SURPRIZE ME!",
          "fuzziness": "AUTO"
        }
      }
    }
    

    有点像这样..希望这会有所帮助。

    【讨论】:

      猜你喜欢
      • 2015-06-20
      • 2020-10-22
      • 2017-10-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-07-01
      • 2012-05-05
      相关资源
      最近更新 更多