【问题标题】:Boosting specific field value in Elastic search提升弹性搜索中的特定字段值
【发布时间】:2014-04-14 06:52:54
【问题描述】:

嗨,我需要根据字段的特定值来提升文档。我的文档包含一个名为 Region 的字段。根据该区域中存在的值,我需要提升我的文档。 这些是我的文件

{
    "title":"INOX: Malleshwaram - Mantri Square",
    "region":"Bangalore"
  }

    {
    "title":"INOX: Bund Garden Road",
    "region":"Pune"
   }

   {
    "title":"INOX: Glomax Mall, Kharghar",
    "region":"Mumbai"
  }

我尝试在查询中使用重新评分查询,看起来像这样

"rescore" : {
      "query" : {
          "score_mode":"total",
          "query_weight" : 2.5,
         "rescore_query_weight" : 0.5,
         "rescore_query" : {
            "match" : {
               "region" : {
                  "query" : "mumbai",
                   "slop" : 2
               }
            }
         }
      }
   }
} 

但它没有按要求正常工作..有没有办法解决这个问题?.. 提前致谢!

【问题讨论】:

    标签: search elasticsearch


    【解决方案1】:

    为什么重新评分,您所需要的只是提升。根据您使用的查询类型,可以在

    中进行提升
    "query_string": {
      "fields":["region^56"],
      "use_dis_max" : true,
          "query": "mumbai"
    }
    

    其中 ^56 是提升值。

    你也可以使用这里提到的http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/query-dsl-boosting-query.html

    如果您使用的是 bool 查询,您可以像这样使用 boost 来提升所有查询

    {
    "bool" : {
        "must" : {
            "term" : { "region" : "mumbai" }
        },
        "boost" : 25.0
    }
    

    }

    【讨论】:

    • 对不起,我没有清楚地解释问题..我也有事件的文件..我需要优先考虑事件,然后是该地区的场地..example
    • { "title":"Inorder", "type":"movie" } 如果这是我的活动,那么它应该首先显示活动,然后是那个地方的场地..
    • 是否有其他方法可以提高特定领域的出现率?我不想将所有字段都放入“字段”:[field1,field2 ...]。我想搜索所有字段,但只增加一些。 THX
    • 有一天我需要先提升特定字段不为空的记录,例如个人资料图片。我通过在 bool 查询中添加一个 should 来做到这一点,它会为 should 中的每个出现添加点,所以如果你需要所有名为“shady”的人,请给我有个人资料图片的人,这很容易通过查询名称in a must query and picture in should with minimum should match 0 "bool" : { "must" : { "term" : { "name" : "shady" } }, "should" : { "term" : { "have_pp" : "yes" } } }
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-12-30
    • 1970-01-01
    • 2013-06-06
    • 1970-01-01
    • 1970-01-01
    • 2013-11-03
    • 1970-01-01
    相关资源
    最近更新 更多