Elasticsearch python增删改查
时间: 2023-12-20 18:00:16 浏览: 124
要在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 ]
阅读全文