6.9. Elasticsearch 查询入门
Elasticsearch 查询入门
经过前面几节我们完成了搜索的准备工作,本章节我们将要学习一些 Elasticsearch 的查询语句。
1. 布尔与词项查询
在开始之前,我们先简单了解一下 Elasticsearch 的布尔查询(Bool Query)。布尔查询与 SQL 语言中的 and
/ or
有些类似,可以根据多个条件来筛选文档。
布尔查询下可以有 filter
/ must
/ should
/ must_not
4 类条件,每个类条件对应的项都是一个数组,数组内每个项对应一个条件。其中 filter
和 must
与 SQL 中的 and
类似,查询的文档必须符合这两类下的条件,只不过 must
下的条件会参与 打分 而 filter
下的条件不会;must_not
和 must
相反,查询的文档必须不符合此类下的条件;should
下的条件不需要全部满足,默认情况下只需要满足 should
下的一个条件即可,也可以通过 minimum_should_match
参数来改变需要满足的个数,满足的 should