我在文档中搜索了一种方法,如果特定字段具有一定的价值,那么它可以促进ElasticSearch结果,但是我没有找到任何好的做法,例如,如果某个用户搜索了某个用户,则该用户居住在巴黎一个查询,我希望与巴黎相关的文档出现在第一个或即将被提升。
答案 0 :(得分:0)
这有很多,但是您想研究“增强”。可以在mapping level或query level处完成。
映射示例:
{
"mappings": {
"_doc": {
"properties": {
"location": {
"type": "keyword",
"boost": 2 <--- 2x boost to the final score
}
}
}
}
}
查询示例:
GET /_search
{
"query": {
"bool": {
"must": {
"match": {
"content": {
"query": "full text search",
"operator": "and"
}
}
},
"should": [
{ "term": {
"location": {
"value": "xxx",
"boost": 3 <--- 3x boost if the location matches
}
}}
]
}
}
}