Elasticsearch :ES基本概念和原理简单介绍
Elasticsearch是一个基于Lucene库的开源搜索和分析引擎,设计用于云计算中,能够达到实时搜索,高可用,扩展性和管理的复杂Heap大小数据。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。
Elasticsearch的基本概念和原理包括:
- 索引(Index): 一个Elasticsearch索引是一个文档的集合。
- 文档(Document): 一个Elasticsearch文档是一个可被索引的基本信息单元,类似于传统数据库中的一行数据。
- 类型(Type): 一个索引中的不同文档类型。
- 节点(Node): 运行Elasticsearch服务的服务器称为节点。
- 集群(Cluster): 由多个节点组成的网络,内部节点间通信,自动发现其他节点。
- 分片与副本(Shards & Replicas): 数据分布式存储和高可用性的方式。
- 分析器(Analyzers): 文本分析工具,用于文本分词和处理。
示例代码(使用Elasticsearch的Python客户端):
from elasticsearch import Elasticsearch
# 连接到Elasticsearch
es = Elasticsearch("http://localhost:9200")
# 创建一个索引
es.indices.create(index='my_index', ignore=400)
# 添加一个文档到索引
doc = {
'name': 'John Doe',
'age': 30,
'about': 'I love to go rock climbing'
}
res = es.index(index='my_index', id=1, document=doc)
# 搜索索引中的文档
res = es.search(index='my_index', query={'match': {'about': 'climbing'}})
print(res['hits']['hits'])
这段代码展示了如何使用Elasticsearch Python客户端连接到Elasticsearch服务,创建一个索引,添加一个文档,并执行一个基本的搜索查询。
评论已关闭