Elasticsearch 提高了精确短语匹配的重要性

标签 elasticsearch query-string elastica

elasticsearch 中有没有一种方法可以提高文档中出现的确切短语的重要性?

例如,如果我正在搜索短语“web developer”,并且如果“web developer”这两个词一起出现,那么与在整个文档中单独出现的“web”和“developer”相比,它们会增加 5。因此,任何同时包含“web developer”的文档都将首先出现在结果中。

最佳答案

您可以使用 bool query 将不同的查询组合在一起,您也可以为他们提供不同的提升。假设您有一个普通的 match query对于这两个术语,无论它们的位置如何,然后是具有更高提升的短语查询。

类似下面的内容:

{
  "query": {
    "bool": {
      "should": [
        {
          "match": {
            "field": "web developer"
          }
        },
        {
          "match_phrase": {
            "field": "web developer",
            "boost": 5
          }
        }
      ],
      "minimum_number_should_match": 1
    }
  }
}

关于 Elasticsearch 提高了精确短语匹配的重要性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18481600/

相关文章:

elasticsearch - Elasticsearch :如何 'OR'两个不同的嵌套查询?

基于 100 的权重的 Elasticsearch 随机选择

javascript - 使用Express JS部署Elasticsearch

php - 如何删除查询字符串并仅获取 URL?

sorting - 如何对 Elasticsearch 中的分析/标记化字段进行排序?

php - 如何使用 Elastica 正确运行_count_查询?

powershell - 无法访问 AWS 上的 ElasticSearch

symfony - 如何在 Symfony 中的 url query_string 中发送参数?

php - 如何为每个链接动态构建查询字符串?

php - 对过滤查询的结果进行排序