首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >弹性搜索中的增强比场值

弹性搜索中的增强比场值
EN

Stack Overflow用户
提问于 2014-04-14 06:52:54
回答 1查看 1K关注 0票数 0

嗨,我需要基于字段的一个特定值来提升文档。我的文档包含一个名为“区域”的字段。根据这个地区的价值,我需要增加我的文档。这些是我的文件

代码语言:javascript
复制
{
    "title":"INOX: Malleshwaram - Mantri Square",
    "region":"Bangalore"
  }

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

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

我尝试在我的查询中使用rescore查询,如下所示

代码语言:javascript
复制
"rescore" : {
      "query" : {
          "score_mode":"total",
          "query_weight" : 2.5,
         "rescore_query_weight" : 0.5,
         "rescore_query" : {
            "match" : {
               "region" : {
                  "query" : "mumbai",
                   "slop" : 2
               }
            }
         }
      }
   }
} 

但是,作为required..Is,它不能正常工作,有办法解决这个问题吗?提前感谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-04-14 11:59:50

为什么再取,你所需要的只是增加。根据所使用的查询类型,可以在

代码语言:javascript
复制
"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来提升所有查询。

代码语言:javascript
复制
{
"bool" : {
    "must" : {
        "term" : { "region" : "mumbai" }
    },
    "boost" : 25.0
}

}

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23053732

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档