ElasticSearch服務提供對索引操作、文檔操作、分詞操作等多種介面。介面的查詢通常採用DSL的形式,也可採用SQL形式進行查詢。 ...
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"
}
}
}
}
}
本文來自博客園,作者:柯南小海盜,轉載請註明原文鏈接:https://www.cnblogs.com/knxhd/p/18354562