DSL語法
- DSL為ES過濾資料時的語法,可用於查詢、刪除等操作
基本構成
- 預設分頁查詢,size預設為10。ES查詢預設最大文件數量限制為10000,可透過
index.max_result_window 配置來控制,建議考慮透過滾動查詢或其他策略實現超過10000限制的查詢
{
"query": {
"match": {
}
},
"from": 0,
"size": 10
}
範圍查詢:terms
{
"query": {
"terms": {
"fieldName": [
"value1",
"value2"
]
}
}
}
模糊查詢:match查詢
{
"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
{
"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"
}
}
}
}
}