ElasticSearch接口
DSL语法
- DSL为ES过滤数据时的语法,可用于查询、删除等操作
基本构成
- 默认分页查询,size默认为10。ES查询默认最大文档数量限制为10000,可通过
index.max_result_window 配置来控制,建议考虑通过滚动查询或其他策略实现超过10000限制的查询
copy{ "query": { "match": { } }, "from": 0, "size": 10 }
范围查询:terms
copy{ "query": { "terms": { "fieldName": [ "value1", "value2" ] } } }
模糊查询:match查询
copy{ "query": { "bool": { "must": [ { "match": { "字段名": "字段值" } }, { "terms": { "字段名": ["字段值"] } } ] } } }
文档操作
搜索文档
- 接口:
http://<ip>:<port>/<index_name>/_search
- 请求方式:
POST
- 请求参数:
DSL
语法
删除文档
- 接口:
http://<ip>:<port>/<index_name>/_delete_by_query
- 请求方式:
POST
- 请求参数:
DSL
语法
索引操作
查询索引的mapping
- 接口:
http://<ip>:<port>/<index_name>/_mapping
- 请求方式:
GET
删除索引
- 接口:
http://<ip>:<port>/<index_name>
- 请求方式:
DELETE
创建索引
- 接口:
http://<ip>:<port>/<index_name>
- 请求方式:
POST
- 请求参数:
- settings:设置索引的分片等配置
- mappings:设置索引的字段,同时可设置字段的分词器,关键字为
analyzer
copy{ "settings": { "number_of_shards": 3, "number_of_replicas": 2 }, "mappings": { "_doc": { "properties": { "commodity_id": { "type": "long" }, "commodity_name": { "type": "text", "analyzer": "ik_smart" }, "picture_url": { "type": "keyword" }, "price": { "type": "double" } } } } }
本文来自博客园,作者:柯南小海盗,转载请注明原文链接:https://www.cnblogs.com/knxhd/p/18354562