首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

php 使用 ElasticSearch 高级查询、过滤、排序

上次我们分享到使用 ElasticSearch 的安装和基本查询操作,今天分享 ElasticSearch 的高级查询。

一、高级查询

1. 布尔查询(bool)

bool把各种其它查询通过must(与)、must_not(非)、should(或)的方式进行组合。

2. 范围查询(range)

range 查询找出那些落在指定区间内的数字或者时间。

3. 模糊查询(fuzzy)

fuzzy 查询是 term 查询的模糊等价。它允许用户搜索词条与实际词条的拼写出现偏差,但是偏差的编辑距离不得超过2。

上面的查询,也能查询到apple手机

我们可以通过fuzziness来指定允许的编辑距离。

二、过滤(filter)

filter方式是在查询结果中进行过滤的,不会影响评分。

注意:filter中还可以再次进行bool组合条件过滤。

三、排序

1. 单字段排序

sort 可以让我们按照不同的字段进行排序,并且通过order指定排序的方式。

2. 多字段排序

假定我们想要结合使用 price和_id进行查询,并且匹配的结果首先按照价格排序,然后按照相id排序。

  • 发表于:
  • 原文链接https://page.om.qq.com/page/OzvvT5i8_IxQxXVno3p4m9SQ0
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券