我遇到了一些关于排序的问题。 如果我想通过经常找到的结果对ElasticSearch进行排序,我该怎么办呢?
例如,我有3个包含此类关键字的文档。
{
title: "red shirt"
},
{
title: "blue shirt"
},
{
title: "green shirt"
}
我经常发现"绿色衬衫"因此,当我按照受欢迎的商品进行分类时,它会显示"绿色衬衫"在结果之上。
现在,我有一个解决问题的想法是,当我发现我将使用的结果" update_by_query"更新" popular_score"如下所示
"script": {
"source": "ctx._source.popular_score++",
"lang": "painless"
},
这意味着我必须调用API来更新每个搜索请求的popular_score,但我认为它不是很好!
我应该怎么做,
感谢您的帮助。
答案 0 :(得分:0)
您好,您需要提升关键字
https://www.elastic.co/guide/en/elasticsearch/reference/master/mapping-boost.html
在这里,您将找到与keyowrd boost相关的文档
POST _search
{
"query": {
"match" : {
"title": {
"query": "quick brown fox",
"boost": 2
}
}
}
}