es入门使用
es索引使用
es分词使用
# 查看索引库 GET /elasticsearch_test/ # 查看所有 GET /elasticsearch_test/_search # 全文搜索 # 全文搜索能够搜索已分析的文本字段, # 使用索引期间应用于统一分析器处理查询字段 # 全文搜索分为匹配搜索和短语搜索、query_string、多字段匹配搜索 GET /elasticsearch_test/_search { "query": { "match_all": { } } } # 匹配搜索 # 可以对一个字段进行匹配 模糊查询,接收一个文本对其进行分词分析 # 再组织成一个布尔查询,可以通过operator组成一个组合 *** 作,or and 默认是or # or # spring cloud实战 分词查询 spring 、 cloud 、 实战 这三个or的关系 POST /elasticsearch_test/_search { "query": { "match": { "description": "spring cloud实战" } } } # and # spring cloud实战 分词查询 spring 、 cloud 、 实战 这三个and 的关系 POST /elasticsearch_test/_search { "query": { "match": { "description":{ "query": "spring cloud实战", "operator": "and" } } } } # 短语搜索 # 用来只对一个字段进行短语查询 可以指定analyzer、 slop移动因子 POST /elasticsearch_test/_search { "query": { "match_phrase": { "description": { "query": "cloud实战", "slop": 0 } } } } ## query_string 不需要指定字段即进行全文搜索查询,同时也可以指定在那些字段上查询 # 默认 POST /elasticsearch_test/_search { "query": { "query_string": { "query": "实战" } } } # 指定字段 POST /elasticsearch_test/_search { "query": { "query_string": { "query": "实战", "default_field": "description" } } } # 逻辑查询 # AND OR必须大写 默认OR POST /elasticsearch_test/_search { "query": { "query_string": { "query": "spring AND 实战", "default_field": "description" } } } # 模糊查询 # ~2 表示默认 2 表示向后模糊几个分词 POST /elasticsearch_test/_search { "query": { "query_string": { "query": "golang~2", "default_field": "name" } } } # 多字段支持 POST /elasticsearch_test/_search { "query": { "query_string": { "query": "golang~2", "fields": ["description","name"] } } } # 使用*匹配多字段 POST /elasticsearch_test/_search { "query": { "query_string": { "query": "golang~2", "fields": ["description","n*"] } } } # 词条级搜索 term查询 # 精确化查找,与全文相反,不分析搜索词,词条和存在字段中的术语内容完全匹配 POST /elasticsearch_test/_search { "query": { "term": { "price": "100" } } } POST /elasticsearch_test/_search { "query": { "term": { "studymodel": "201001" } } } # 不能完全匹配 POST /elasticsearch_test/_search { "query": { "term": { "description": "spring cloud实战" } } } # terms 词条集合搜索 POST /elasticsearch_test/_search { "query": { "terms": { "description": [ "spring","cloud","实战"] } } } # 范围查询 POST /elasticsearch_test/_search { "query": { "range": { "price": { "gte": 10, "lte": 200 } } } } POST /elasticsearch_test/_search { "query": { "range": { "price": { "gte": 10, "lte": 200 } } } } # 时间范围以及格式化 GET /elasticsearch_test/_search { "query": { "range": { "timestamp": { "gte": "10/07/2020", "lte":"10/12/2022", "format": "dd/MM/yyyy" } } } } # 不为空查询 # 相当于sql中 is not null GET /elasticsearch_test/_search { "query": { "exists": { "field": "price" } } } # 词项前缀 # name字段 s开头的 GET /elasticsearch_test/_search { "query": { "prefix": { "name": "s" } } } # 通配符 # spring s*r* GET /elasticsearch_test/_search { "query": { "wildcard": { "name": "s*r*" } } } # boost 通配符 后几个 GET /elasticsearch_test/_search { "query": { "wildcard": { "name": { "value": "s*", "boost": 8 } } } } # 正则搜索 GET /elasticsearch_test/_search { "query": { "regexp": { "name":"s.*" } } } # 模糊搜索 GET /elasticsearch_test/_search { "query": { "fuzzy": { "name":"golang" } } } GET /elasticsearch_test/_doc/2 # id集合搜索 GET /elasticsearch_test/_search { "query": { "ids": { "values": ["1","2"] } } }排序
# 排序 # _score 排序 GET /elasticsearch_test/_search { "sort": [ {"_score":"asc"}, { "price": { "order": "desc" } } ] } # 字段排序 GET /elasticsearch_test/_search { "query": { "query_string": { "default_field": "description", "query": "spring or go" } }, "sort": [ { "price": { "order": "desc" } } ] } #多字段排序 # _score 排序 GET /elasticsearch_test/_search { "query": { "query_string": { "default_field": "description", "query": "spring or go" } }, "sort": [ {"_score":"asc"}, { "price": { "order": "desc" } }, { "_id": { "order": "asc" } } ] }
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)