Elasticsearch分布式搜索引擎
Elasticsearch是一个开源的分布式搜索和分析引擎,它可以帮助你存储、搜索和分析大量的数据。
以下是一些Elasticsearch的常见用法和代码示例:
- 创建和删除索引:
# 创建索引
import elasticsearch
es = elasticsearch.Elasticsearch("http://localhost:9200")
es.indices.create(index='my-index', body={'settings': {'number_of_shards': 1}})
# 删除索引
es.indices.delete(index='my-index', ignore=[400, 404])
- 添加、更新和删除文档:
# 添加文档
doc = {"name": "John Doe", "age": 30}
res = es.index(index="my-index", id=1, body=doc)
# 更新文档
doc = {"name": "Jane Doe", "age": 25}
res = es.update(index="my-index", id=1, body={"doc": doc})
# 删除文档
res = es.delete(index='my-index', id=1)
- 搜索文档:
# 搜索所有文档
res = es.search(index="my-index", body={"query": {"match_all": {}}})
# 搜索特定字段
res = es.search(index="my-index", body={"query": {"match": {"name": "John"}}})
- 使用Elasticsearch的聚合功能:
# 聚合查询
aggs = {
"group_by_age": {
"terms": {
"field": "age"
}
}
}
res = es.search(index="my-index", body={"query": {"match_all": {}}, "aggs": aggs})
以上代码示例展示了如何使用Python的elasticsearch
库来与Elasticsearch进行交互。这个库提供了一个简洁的接口来执行索引的创建、文档的添加、更新和删除,以及执行搜索和聚合操作。
评论已关闭