es中的match、term、text、keyword、bool

总结一下es中的match、term、text、keyword、bool等关键字。比如我想搜索一辆“红色奥迪车”:

1、match和term

match:在匹配时会对所查找的关键词进行分词,然后按分词匹配查找,用于模糊查询。结果会将包含“红色”或“奥迪”的车都找出来。
term:对关键词进行查找,用于精确查找。只有名称中有“红色奥迪车”的数据才会被搜索出来。

2、text和keyword

text支持模糊查询,且会进行分词操作。
keyword不支持模糊查询,且不支持分词操作。

3、bool查询

bool查询中
1、must:must对应的是多个并列的查询条件,只有都符合的数据才会返回。此时的“红色”和“奥迪”是且的关系。
2、must_not:和must整个相反。只要包含“红色”或“奥迪”的数据都会被过滤掉,不返回。
3、should :只要符合其中一个条件就返回。
4、filter:条件过滤查询,过滤条件的范围用range表示gt表示大于、lt表示小于、gte表示大于等于、lte表示小于等于,比如我要查询价格为5万到10万的车时会用到这个。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

卡夫卡的熊kfk

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值