教程目录
Elasticsearch 的核心概念?
一、核心概念 Index(索引):类似数据库的表,存储文档。 Document(文档):JSON 格式的数据,类似行。 Field(字段):文档中的键值对,类似列。 Shard(分片):索引分成多个分片,分布在不同节点。 Replica(副本):分片的副本,高可用。 二、集群 多个 Node 组成
Elasticsearch 的倒排索引原理?
一、定义 正排索引:文档 → 词列表。 倒排索引:词 → 文档列表。 二、构建过程 文档内容分词,得到词(term)。 建立 term → [doc1, doc2, ...] 的映射。 记录词频、位置等信息。 三、示例 文档1:Java 面试 文档2:Java 集合 文档3:Redis 缓存 倒排
Elasticsearch 常用查询类型?
一、全文查询 match:对查询词分词后匹配。 match_phrase:短语匹配,词序固定。 multi_match:多字段匹配。 query_string:支持 Lucene 查询语法。 二、精确查询 term:精确匹配不分词的值。 terms:多值精确匹配。 range:范围查询。 exist
Elasticsearch 集群架构?
一、节点角色 Master:管理集群元数据,选举。 Data:存储分片数据,执行 CRUD、搜索。 Ingest:数据预处理(pipeline)。 Coordinating:路由请求,合并结果。 Machine Learning:机器学习。 Remote Cluster:跨集群搜索。 二、分片 In
Elasticsearch 性能优化?
一、写入优化 批量写入(Bulk API),减少网络开销。 增加 refresh_interval(如 30s),减少 refresh 频率。 关闭副本,写完再开。 用 SSD 存储。 TransLog 异步刷盘。 二、查询优化 用 filter 替代 query 做过滤。 避免深度分页,用 sea