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

时间:2018-06-13 06:44:36

标签: elasticsearch elasticsearch-query

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

如何通过elasticsearch实现这一目标?

1 个答案:

答案 0 :(得分:0)

在Elasticsearch中有许多关于如何实现这一目标的文档,因为它是搜索者的典型需求。 我建议你尝试自己提升相关功能。

像:

{
  "query": {
    "function_score": {
      "filter": { 
        "term": { "content": "mobile" }
      },
      "functions": [ 
        {
          "filter": { "term": { "brand": "Apple" }}, 
          "weight": 4
        }
      ],
      "score_mode": "sum", 
    }
  }
}

此处的文档是最新的:FunctionScoring

同样作为提示,可能绝对值得一看Relevance chapter并了解ES如何尝试按相关性排序结果。