全文查询
| 术语 | 说明 |
|---|---|
| match | 执行全文查询的标准查询,包括模糊匹配和短语或近似查询,分词后查询 |
| match_phrase | 与match查询类似,但用于匹配精确短语或单词近似匹配 |
| match_phrase_prefix | 与match_phrase查询类似,但对最后一个单词进行通配符搜索 |
| multi_match | match查询的多字段版本 |
| common_terms | 一个更专门的查询,让更多的偏好非常用的单词 |
| query_string | 支持紧凑的Lucene 查询字符串语法,允许您在单个查询字符串中指定AND |
| simple_query_string | query_string适合直接向用户公开 的语法更简单,更健壮的版本 |
过滤查询
| 术语 | 说明 |
|---|---|
| term | 查找某字段里面有某个关键词的文档,不进行分词查询,一般结合bool使用 |
| terms | 查找包含指定字段中指定的任何确切术语的文档 |
| terms_set | 查找与一个或多个指定条款匹配的文档。必须匹配的术语数量取决于指定的最小值应匹配字段或脚本 |
| range | 查找指定字段包含指定范围内的值(日期,数字或字符串)的文档 |
| exists | 查找指定字段包含任何非空值的文档 |
| prefix | 查找指定字段中包含以指定的确切前缀开头的术语的文档 |
| wildcard | 查找指定字段包含与指定模式匹配的术语的文档,其中模式支持单字符通配符(?)和多字符通配符(*) |
| regexp | 查找指定字段中包含与指定正则表达式匹配的字词的文档 |
| fuzzy | 查找指定字段中包含与指定字词模糊相似的字词的文档。测量模糊度的 Levenshtein编辑距离 为1或2 |
| type | 查找指定类型的文档 |
| ids | 查找具有指定类型和ID的文档 |
| range支持的符号 | 说明 |
|---|---|
| gte | 大于或等于 |
| gt | 大于 |
| lte | 小于或等于 |
| lt | 小于 |
| boost | 设置查询的权值,默认为1.0 |
| 时间运算 | 说明 |
|---|---|
| now-1h | 基准日期,也可以是具体日期,比如2018-01-01,使用具体日期的时候要使用 |
| now-20y | 计算公式,主要有3种:+1h,-1d,/d(将时间舍入到天) |
| 2018-01-01||+1M/d | 使用精确的日期,并且精确到天 |
复合查询
| 术语 | 说明 |
|---|---|
| constant_score | 包含另一个查询的查询,但在过滤器上下文中执行该查询。所有匹配的文件都被赋予相同的“常量” _score |
| bool | 配合查询字句使用。在must和should 条款有他们的分数相结合-更匹配的条款,更好的-而must_not和filter条款在过滤器上下文中执行 |
| dis_max | 一个接受多个查询的查询,并返回与任何查询子句匹配的任何文档。虽然bool查询结合了所有匹配查询的分数,但dis_max查询使用单个最佳匹配查询子句的分数 |
| function_score | 使用函数修改主查询返回的分数,以考虑流行度,新近度,距离或使用脚本实现的自定义算法等因素 |
| boosting | 返回与positive查询匹配的文档,但会降低也与negative查询匹配的文档的得分 |
| bool字句 | 说明 |
|---|---|
| must | 必须符合的条件字段 |
| should | 符合条件的 |
| must_not | 不必须符合的 |
| filter | 过滤器 |
本文介绍了全文查询和过滤查询的基本概念及使用方式,包括match、match_phrase等全文查询方式,以及term、terms等过滤查询方式。此外还介绍了复合查询如bool查询的使用方法。
775

被折叠的 条评论
为什么被折叠?



