elasticsearch 基础

本文深入探讨了Elasticsearch中的关键概念,包括near real time、cluster、node、index、type、document以及shards & replicas。并提供了如何通过curl命令进行集群健康检查、索引管理、创建和删除索引的操作指南。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

基础概念

1. near realtime
在索引文档和搜索文档之间延时低于1s。
2. cluster
一个集群是多个节点的集合。一个集群应该有一个唯一的名称(**默认为 elasticsearch**)。
3. node
节点是集群的组成单位,参与集群中的数据承载,索引和搜索任务。节点拥有自己的名称,可以自由定义。每个节点还定义了一个集群名称,根据这个集群名称,该节点将被合并如对应的集群中。
4. index
索引是相互关联文档的集合。一个集群可以定义任意多得
5. type
一个索引下可以定义多个文档类型,逻辑上相同类型的文档应该拥有相同的field。
6. document
文档是索引的基本单位。
7. shards & replicas
切片 可以将数据分割放置,可以实现水平扩容,并能提高系统的吞吐量;
备份 可以提高系统的可靠性,防止多点故障造成服务不可用,同时备份也可用于只读访问,提高系统吞吐量。

集群操作

1. cluster health
  • 查看集群健康状态: curl 'localhost:9200/_cat/health?v'
  • 查看节点健康状态: curl 'localhost:9200/_cat/nodes?v'
2. list indices
  • 列出所有索引信息: curl 'localhost:9200/_cat/indices?v'
3. create index
  • 创建索引: curl -XPUT 'localhost:9200/customer?pretty'
4. delete index
  • 删除索引: curl -XDELETE 'localhost:9200/customer?pretty'
### Elasticsearch 基础教程与入门指南 Elasticsearch 是一种基于 Lucene 的分布式全文搜索引擎,广泛应用于日志分析、实时数据分析以及复杂查询场景。以下是关于其基础知识的详细介绍: #### 1. 核心概念 - **Index**: 类似于传统关系型数据库中的“数据库”,用于存储一组具有相似特征的文档集合[^4]。 - **Document**: 表示一条记录或对象,类似于关系型数据库中的行。它是 Elasticsearch 中最基本的数据单位[^1]。 - **Type (已废弃)**: 在早期版本中,`Type` 被用来区分同一索引下的不同类型数据;然而,在 Elasticsearch 6.x 版本之后逐步弱化,并最终在 7.x 完全移除[^4]。 #### 2. 查询机制 Elasticsearch 使用倒排索引来实现高效的搜索能力。相比于传统的正向索引(需逐一扫描所有文档),它通过预先构建关键词与其关联文档之间的映射来显著提升检索效率[^5]。 #### 3. 配置管理 为了满足特定需求或者优化性能表现,可以通过修改配置文件来自定义行为模式。如果采用 Docker 方式部署,则可以借助 `-v` 参数挂载外部定制化的 YAML 文件至容器内部标准路径下完成设置覆盖[^3]。 #### 4. 数据建模注意事项 尽管支持一定形式上的结构间联系表达(如父-子模型),但由于缺乏原生事务保障加之额外开销影响等原因,在实际项目开发过程中往往推荐采取扁平化设计思路——即将原本可能涉及多方交互的信息直接嵌入单一JSON实体之中保存起来从而减少对外部参照依赖程度进而达到提高读写速度的目的[^2]。 ```python from elasticsearch import Elasticsearch es_client = Elasticsearch("http://localhost:9200") response = es_client.search( index="example_index", body={ "query": { "match": {"field_name": "value"} } } ) print(response['hits']['total']) ``` 以上代码片段展示了如何利用 Python SDK 对目标索引执行简单的匹配查找操作并获取结果总数。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值