欢迎访问宙启技术站
智能推送

Python中使用connect()函数连接Elasticsearch搜索引擎

发布时间:2023-12-16 16:26:13

在Python中连接Elasticsearch搜索引擎可以使用elasticsearch-py库来实现。

首先,需要确保已经安装了elasticsearch-py库。可以使用以下命令安装:

pip install elasticsearch

接下来,导入elasticsearch库并使用connect()函数连接Elasticsearch搜索引擎。示例如下:

from elasticsearch import Elasticsearch

# 使用默认本地地址连接Elasticsearch
es = Elasticsearch()

# 或者指定连接的主机和端口
es = Elasticsearch(['localhost'], port=9200)

在连接成功后,可以调用Elasticsearch实例对象的各种方法来与搜索引擎进行交互。下面是一些常用的方法:

1. 索引文档

doc = {
    'author': 'John Doe',
    'text': 'Elasticsearch is awesome!'
}

# 索引一个文档
res = es.index(index='my-index', doc_type='my-doc', id=1, body=doc)
print(res['result'])  # 输出:created

2. 获取文档

# 获取索引为my-index,类型为my-doc,id为1的文档
res = es.get(index='my-index', doc_type='my-doc', id=1)
print(res['_source'])  # 输出:{'author': 'John Doe', 'text': 'Elasticsearch is awesome!'}

3. 删除文档

# 删除索引为my-index,类型为my-doc,id为1的文档
res = es.delete(index='my-index', doc_type='my-doc', id=1)
print(res['result'])  # 输出:deleted

4. 搜索文档

# 在索引为my-index,类型为my-doc的文档中搜索包含关键字'elasticsearch'的文档
res = es.search(index='my-index', doc_type='my-doc', body={'query': {'match': {'text': 'elasticsearch'}}})
for hit in res['hits']['hits']:
    print(hit['_source'])  # 输出匹配到的文档

这些只是elasticsearch-py库的一部分功能,它提供了更多的API来与Elasticsearch搜索引擎进行交互。可以查阅官方文档来获取更多信息:https://elasticsearch-py.readthedocs.io/