基于用户在 UI 上搜索的文本,我在搜索条件中添加了更多搜索词。所有这些工作正常,但是我无法获得正确的排序结果。
我的期望是按以下顺序排序结果:
- 顶部的结果应基于用户实际输入的搜索词。
- 接下来是我在代码中添加的其他搜索词的结果。
基于用户在 UI 上搜索的文本,我在搜索条件中添加了更多搜索词。所有这些工作正常,但是我无法获得正确的排序结果。
我的期望是按以下顺序排序结果:
我认为您正在寻求方法来控制 ElasticSeach 中搜索结果的所谓“相关性”(默认情况下,结果按相关性排序)。其中有几种,您必须进行试验以查看哪一种适合您的需求。他们每个人都将提升因子应用于结果的正常相关性分数:
快速^2狐狸
将为包含“快速”的文档提供更多相关性
GET /_search
{
"query": {
"query_string" : {
"query" : "(new york city) OR (big apple)",
"default_field" : "content",
"boost": 2.0
}
}
}
{
"query": {
"boosting": {
"positive": {
"term": {
"text": "apple"
}
},
"negative": {
"term": {
"text": "pie tart fruit crumble tree"
}
},
"negative_boost": 0.5
}
}
}