ElasticSearch接口

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"
				}
			}
		}
	}
}
posted @ 2024-08-13 09:01  柯南小海盗  阅读(15)  评论(0编辑  收藏  举报