Elasticsearch 读写中间件的设计
from elasticsearch import Elasticsearch
class ElasticsearchMiddleware:
"""Elasticsearch 读写中间件。"""
def __init__(self, hosts=None):
self.es = Elasticsearch(hosts=hosts or ['localhost:9200'])
def read(self, index, query):
"""从Elasticsearch中读取数据。"""
return self.es.search(index=index, body=query)
def write(self, index, document):
"""将数据写入Elasticsearch。"""
self.es.index(index=index, document=document)
# 使用示例
middleware = ElasticsearchMiddleware()
# 读取操作
query = {'query': {'match_all': {}}}
response = middleware.read('my_index', query)
print(response)
# 写入操作
document = {'name': 'John Doe', 'age': 30}
middleware.write('my_index', document)
这个代码示例展示了如何使用Elasticsearch Python客户端库来简单实现读写操作。初始化时可以指定Elasticsearch集群的地址,read
方法用于执行搜索查询,而write
方法用于将文档写入Elasticsearch。这个示例假设Elasticsearch正在本地运行,并使用默认的9200端口。
评论已关闭