elasticsearch-索引库操作(轻松创建)、文档增删改查、批量写入(效率倍增)
from datetime import datetime
from elasticsearch import Elasticsearch
# 连接Elasticsearch
es = Elasticsearch(hosts=["localhost:9200"])
# 创建索引(如果索引不存在的话)
index_name = 'test_index'
es.indices.create(index=index_name, ignore=400) # 使用ignore=400可以忽略“索引已存在”的错误
# 定义一些文档数据
documents = [
{
'author': 'John Doe',
'text': 'This is a sample document',
'timestamp': datetime.now(),
},
# ... 更多文档
]
# 批量写入文档到索引
actions = [
{
"_index": index_name,
"_id": i,
"_source": document
} for i, document in enumerate(documents, start=1)
]
# 执行批量写入
es.bulk(actions)
# 查询索引中的文档
query = {
"query": {
"match": {
"text": "sample"
}
}
}
# 执行查询
response = es.search(index=index_name, body=query)
# 输出查询结果
print("查询结果:", response['hits']['hits'])
这段代码展示了如何在Python中使用Elasticsearch的官方客户端与Elasticsearch集群进行交互。首先,我们连接到本地运行的Elasticsearch实例。然后,我们创建一个新的索引(如果它不存在的话)。接着,我们定义了一些文档数据,并使用bulk
方法批量写入到我们的索引中。最后,我们执行一个简单的搜索查询,并打印出返回的结果。这个例子是Elasticsearch操作的基础,展示了如何进行索引的创建、文档的批量写入和搜索查询。
评论已关闭