5、Elasticsearch查询全解析:从基础到复杂应用

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"
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值