我是弹性搜索的新手,所以我很难搞清楚这一点。
所以问题是我正在尝试搜索带有标签的内容,而这些标签会有权重,就像是,
{
tag: "tag name",
weight: 1
}
现在我正在尝试此查询
{
"query": {
"bool": {
"should": [
{
"multi_match": {
"query": "do",
"fields": [
"name",
"tags.tag"
],
"type": "phrase_prefix"
}
}
]
}
}
}
但是我不知道如何修改搜索,搜索结果会给标签带来重量。
感谢。
答案 0 :(得分:1)
不确定我是否理解你的问题...你想获得标签重量并影响搜索结果得分吗?如果是,请查看script score。根据文档,你可以做这样的事情:
{
"query": {
"function_score": {
"query": {
"match": { "message": "elasticsearch" }
},
"script_score" : {
"script" : {
"source": "Math.log(2 + doc['likes'].value)"
}
}
}
}
}