您当前的位置: 首页 快讯 >

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

2023-08-02 07:20:45 来源:腾讯网

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排序。

标签:
x 广告
x 广告

Copyright ©  2015-2022 世界科学网版权所有  备案号:琼ICP备2022009675号-1   联系邮箱:435 227 67@qq.com