es查询 -- 基础
目录
- body
- query
- match 模糊搜索
- match_phrase 短文本搜索
- match_phrase_prefix 短文本搜索, 支持前缀匹配
- multi_match 同时匹配多字段
- query
查询的JSON结构
普通查询
{ "query": { # 查询条件 "match_all": {} //匹配所有文档, 所有 _score 为1.0 # "match_all": {"boost": 1.2} # 改变 _score # "match_none" {} # 不匹配任何文档 }, "_source": ["field1", "field2"] # 指定查询结果返回的字段, 不指定返回所有字段 "size": 10 # 返回10条结果, 默认10 "from": 10 # 从第10条(索引从0开始)开始返回, 默认0 "sort": { # 指定排序规则, 不指定按照相似度得分降序排序 "field": {"order": "desc"} # field字段降序排序 } }
多条件查询
{ "query": { "bool": { # 合并多个查询 "must": [ # field字段包含v1且包含v2 {"match": {"field": "v1"}}, {"match": {"field": "v2"}} ], "should": [ # field字段包含v1或包含v2 {"match": {"field": "v1"}}, {"match": {"field": "v2"}} ], "must_not": [ # field字段既不包含v1也不包含v2 {"match": {"field": "v1"}}, {"match": {"field": "v2"}} ], "filter": [ # 过滤, 过滤中的条件不会影响文档得分且可以被缓存 { "range": { # 范围查询, 支持 gt, gte, lt, lte "field": { # field >= 20000 and field <= 30000 "gte": 20000, "lte": 30000 } } }, {"term": {"field": "v1"}}, # field字段包含v1 ] } } }
全文查询
- match 模糊匹配和短语或邻近查询
- match_phrase 匹配精确短语或单词邻近匹配
- match_phrase_prefix 对最后一个单词进行通配符搜索
- multi_match 多字段查询
- common 一个更专业的查询,它更多地优先考虑不常见的单词
- query_string 支持紧凑的Lucene 查询字符串语法,允许您在单个查询字符串中指定AND | OR | NOT条件和多字段搜索。仅限专家用户。
- simple_query_string 一种更简单,更健壮的query_string语法版本,适合直接向用户公开。
- intervals 全文查询,允许对匹配术语的排序和接近度进行细粒度控制
query
match 模糊搜索
多条件查询
求知若饥,虚心若愚

浙公网安备 33010602011771号