ElasticSearch介面

柯南小海盗發表於2024-08-13

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"
				}
			}
		}
	}
}

相關文章