ES基本查询

本文介绍了Elasticsearch中的基本查询类型,包括term和terms查询(不进行分词匹配),match查询(根据字段类型自动转换并可能分词),match_all查询(返回所有内容),multi_match查询(多字段匹配),以及bool查询和range范围查询。这些查询机制在不同场景下提供了灵活的数据检索方式。
摘要由CSDN通过智能技术生成

ES基本查询

term 和 terms查询机制都是一样的,都不会将制定的查询关键字进行分词,直接去分词库中匹配。

term 是针对一个字段包含一个值的时候使用,类似于mysql里的“=”。
terms 是针对一个字段包含多个值的时候使用,类似于mysql里的in(?,?)。

match查询:match查询属于高级查询,会根据你查询的字段的类型不一致,采用不同的查询方式。

  • 如果查询的是日期或者数值的字段,他会自动将你的字符串查询内容转换成日期或者数值待;
  • 如果查询的内容是一个不能被分词的字段(keyword).match查询不会对你的指定查询关键字进行分词;
  • 如果查询的内容是一个可以分词的字段(text),match会将你指定的查询内容根据一定的方式去分词,然后去分词库中匹配指定的内容。
  • 总而言之:match查询,实际底层就是多个term查询,将多个term查询的结果汇集到一起返回给你。

match_all 查询全部内容,不指定任何条件

multi_match查询

多字段进行匹配, 只要有一个字段满足搜索条件, 就能查询出来, 对于多字段匹配的问题, 涉及到评分, 可以通过type来指定评分标准,有三种类型,分别是: best_fields: 完全匹配的文档占比高, 可以通过tie_breaker指定评分的系数;most_fields:表示越多字段匹配的文档评分越;

bool联合查询

其中 must: 表示文档必须完全匹配
must_not: 表示文档必须不能匹配
should表示下面的条件只要有一个满足, 就能查出来, 类似sql的or

range范围查询

类似于sql里的between and

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值