node.js - 如何在elasticsearch中对多个字段进行模糊查询?

标签 node.js mongodb elasticsearch mongoose mongoosastic

这是我的查询:

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

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

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

最佳答案

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

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

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

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

关于node.js - 如何在elasticsearch中对多个字段进行模糊查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36340331/

相关文章:

node.js - ubuntu 上的 nodejs 默认文档

javascript - 关键 checkin 对象

c# - 从特定类型删除旧的Elasticsearch日志

JavaScript 代码未按所需顺序运行(Node.js、MongoDB)

来自多个客户端的 MongoDB findAndModify

c# - Elasticsearch/Nest - 将 MatchPhrase 与 OnFieldsWithBoost 结合使用

elasticsearch - 如何使用Java API创建和检索具有复杂类型的Elasticsearch字段?

python - 从一个容器到另一个容器运行命令

javascript - 路由匹配不明确

c - Mongodb C 驱动程序 : How to clear database?