Elasticsearch查询全解析:从基础到复杂应用
1. 多字段匹配查询与字段重要性提升
在搜索时,有时我们希望某些字段的匹配结果更重要。可以使用 multi_match 查询来实现这一目的。以下是一个示例:
GET books/_search
{
"query": {
"multi_match": {
"query": "Java",
"fields": ["title^3","synopsis"]
}
}
}
在这个查询中, title 字段的重要性被提升了3倍(通过 ^3 表示)。执行该查询后, title 字段匹配的文档得分会相应提高,得分高的文档会排在结果列表的前面。例如,“Effective Java”这本书在提升 title 字段重要性之前得分是0.33537668,提升后得分变为1.0061301。
2. 短语搜索
有时候我们需要搜索特定的短语,这时可以使用 match_phrase 查询。例如,要搜索所有在 synopsis 字段中包含“must-have book for every Java programmer”这个短语的书籍,可以使用以下查询:
GET books/_search
{
"query"
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



