Elasticsearch的增删查改详细操作

一、创建索引

单独创建索引

	PUT /test1		# test1 为索引名称自定义
	{
	  	"settings":{	# 创建index 需要有效的xcontent字节及Json格式 否则创建不成功		
			"index":{
				"number_of_shards":1,	# 设置分片的数量
				"number_of_replicas":0	# 设置副本的数量
			}
		}
	}

创建索引及增加数据

	标准格式
		PUT  /索引名/类型名/文档id(数据) 
		{
		    请求体
		}

		PUT /twitters/type1/1
		{
		  "name": "Like",
		  "age": 444
		}
		如下图则创建成功...

在这里插入图片描述
Elasticsearch-head查看索引数据

在这里插入图片描述
创建指定类型字段索引

	PUT /test2
	{
	  "mappings": {
	    "properties": {
	      "name": {
	        "type": "text"		# 字符串类型
	      },
	      "age":{
	        "type": "long"		# 整型类型
	      },
	      "brithday":{
	        "type": "date"		# 日期类型
	      },
	      "del":{
	        "type": "boolean"	# 布尔类型
	      }
	    }
	  }
	}
	
	# binary二进制类型
	如下图则创建成功...

在这里插入图片描述

	GET test2		# 即可查看刚刚创建的类型

在这里插入图片描述

类型关键词
字符串text、keyword
整形long、integer、short、byte、double、float、half、scaled、float
时间date
布尔boolean
二进制binary

二、查看索引

GET test1/_settings       	# 获取test1的settings
GET test1,test2/_settings  	# 获取test1和test2的settings
GET _all/_settings        	# 获取所有settings
GET _settings             	# 获取所有settings
 {
  "query": {
    "match_all": {}
 }
}

在这里插入图片描述

三、修改索引

	PUT /test1/_settings		# 修改test1的settings副本数量
	{
	  "number_of_replicas": 2
	}
	
	
	PUT _all/_settings        # 把所有index设置为read_only
	{
	"index": {
	  "blocks": {
	    "read_only_allow_delete": false
	    }
	  }
	}

四、删除索引

	DELETE my_index            # 删除索引

五、向索引增加数据

	POST /test/_doc
	{
	  "name": "John Doe",
	  "age": 30,
	  "birthday": "1992-05-15",
	  "del": false
	}

如需查看插件如何安装请查看上一篇文章

要在Python中进行Elasticsearch增删改查操作,你可以使用Elasticsearch的官方库elasticsearch-py来实现。下面是一个简单的例子来演示如何进行增删改查操作: 引用: 首先,你需要导入Elasticsearch库并连接到Elasticsearch服务器: ```python from elasticsearch import Elasticsearch # 连接到Elasticsearch服务器 es = Elasticsearch([ES_IP], http_auth=('elastic', '123456'), port=ES_PORT) ``` 引用: 查询数据: - 查询所有数据: ```python body = { "size": 111, # 最大显示数量,es默认展示10条 "query": { "match_all": {} } } res = es.search(index='my-index', body=body, request_timeout=30) ``` - 查询具体某个字段: ```python body = { "size": 10000, # 最大显示数量 "query": { "match": { "text": { "query": search_key, "analyzer": "ik_smart", # 用来指定搜索的词语按那种拆词粒度拆词 "operator": "or", # 按拆分后的词查询时,词与词之间是 and 还是 or 的关系 "minimum_should_match": "75%" # 该参数用来控制应该匹配的分词的最少数量,至少匹配几个词才召回查询的结果 } } } } res = es.search(index='my-index', body=body, request_timeout=30) ``` 引用: 获取拆分后的词: 你可以使用Elasticsearch的analyze API来获取拆分后的词,例如: ```python body = { "text": "惠普 p2015dn", "analyzer": "ik_max_word" } res = es.indices.analyze(index='my-index', body=body) key_list = [dic['token'] for dic in res['tokens']] print(key_list) # ['惠普', 'p2015dn', 'p', '2015', 'dn'] ``` 以上是关于在Python中使用Elasticsearch进行增删改查的基本操作。你可以根据具体的需求使用不同的查询方式,并根据返回的结果进行相应的处理。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [python 使用 Elasticsearch 增删查改](https://blog.csdn.net/Waller_/article/details/109810964)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

LoisMay

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值