首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用于提升特定数据的Elasticsearch查询

用于提升特定数据的Elasticsearch查询
EN

Stack Overflow用户
提问于 2018-06-13 14:44:36
回答 1查看 67关注 0票数 0

我有一个示例购物应用程序,我想创建搜索页面使用elasticsearch,当用户搜索特定的产品,例如" iphone“,然后显示所有iphone产品。但是,我想推广产品显示在搜索结果的顶部。这更像是推广产品,当我推广特定的产品时,它会显示在搜索结果的顶部。

elasticsearch如何做到这一点呢?

EN

回答 1

Stack Overflow用户

发布于 2018-06-13 18:04:08

在Elasticsearch中,有许多关于如何实现这一点的文档,因为这是搜索者的典型需求。我会建议你尝试制作你自己的提升相关性函数。

像这样:

代码语言:javascript
复制
{
  "query": {
    "function_score": {
      "filter": { 
        "term": { "content": "mobile" }
      },
      "functions": [ 
        {
          "filter": { "term": { "brand": "Apple" }}, 
          "weight": 4
        }
      ],
      "score_mode": "sum", 
    }
  }
}

这里是最新的文档:FunctionScoring

另外,作为一个提示,可能绝对值得去看看Relevance chapter,了解ES是如何尝试按相关性对结果进行排序的。

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

https://stackoverflow.com/questions/50830646

复制
相关文章

相似问题

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