优先选择完美匹配
我是新来的弹性。
我使用弹性搜索来搜索存储在数据库中的文档的标题字段。 更多信息: "title" field - type "String"/indexed and "title.unanalyzed" field - type "String"/unindexed
。
我希望标题与查询完美匹配的文档出现在搜索结果的顶部,而对于所有其他搜索结果,我希望它们按排名顺序排序。 我想给分值为1.1的文档与完全匹配的标题将有助于分析字段的0到1之间的弹性分数。 我目前的查询:
query: {
term: {
"title.unanalyzed": "some_title"
},
multi_match: {
query: "some_title",
type: "most_fields",
fields: ["title", "other"]
}
}
出现错误: failed to parse search source. expected field name but got [START_OBJECT]
failed to parse search source. expected field name but got [START_OBJECT]
。 需要帮助,谢谢!
试试这个:
{
"query": {
"bool": {
"should": [
{
"term": {
"title.unanalyzed": "some_title"
}
},
{
"multi_match": {
"query": "some_title",
"type": "most_fields",
"fields": [
"title",
"other"
]
}
}
]
}
}
}
链接地址: http://www.djcxy.com/p/60137.html