摘要: Elasticsearch7.0为什么删除 Mapping Type 自从Elasticsearch的第一个版本以来,每个文档都存储在一个索引中,并分配了一个映射类型。映射类型用于表示被索引的文档或实体的类型,例如,twitter索引可能有 user Type 和 tweet Type。 每个Typ 阅读全文
posted @ 2022-11-02 15:24 茄子777 阅读(190) 评论(0) 推荐(0)
摘要: Lucene 相似度打分 1. 文本相似度的主要影响因子 a. 词频 tf (term frequency) : 指某个词在文档中出现的次数, 其值越大, 就可以认为这篇文章描述的内容与该词越相近, 相似度得分就越高. 在 Lucene 中的计算公式为: b. 逆文本频率 df (inverse d 阅读全文
posted @ 2022-11-02 15:23 茄子777 阅读(94) 评论(0) 推荐(0)
摘要: 1.背景:ES 作为缓存存储全量商品数据,更新机制有两种,一是数据变更消息更新,另一种是定时任务全量更新(兜底方案),项目上线一段时间后,全量更新会导致 ES 机器 OOM 导致宕机。问题:ES 节点机器为 8C 16G 虚拟机,三台组成集群,分配给 ES 内存按照 80%方案分配为 12G,商品数 阅读全文
posted @ 2022-11-02 15:11 茄子777 阅读(2476) 评论(0) 推荐(0)
摘要: Elasticsearch 写原理: 写数据原理: 和其它分布式一样, 先 hash 取余, 先定位数据分片, 请求再写入 trandslog (5s fsync translog) 和内存缓冲区, 内存缓冲区每秒同步到文件缓存, 当文件缓冲区 30 分钟或者 translog 比较大时 (500M 阅读全文
posted @ 2022-11-01 18:30 茄子777 阅读(294) 评论(0) 推荐(0)
摘要: 存储优化 查询优化 索引性能优化 其他优化 1. 调大系统的 "最大打开文件数", 例如 65535 2. 修改 bin/elasticsearch.in.sh 中的 ES_MIN_MEN 和 ES_MAX_MEN 的大小, 建议设置一样大, 避免频繁的分配内存, 根据服务器内存大小, 一般分配 6 阅读全文
posted @ 2022-11-01 18:24 茄子777 阅读(425) 评论(0) 推荐(0)
摘要: 1. 分词算法概述 词是表达语义的最小单位. 分词对搜索引擎的帮助很大, 可以帮助搜索引擎程序自动识别语句的含义, 从而使搜索结果的匹配程度达到最高, 因此分词的质量也就直接影响了搜索结果的精确度. 分词在文档索引的建立过程和用户提交检索过程中都存在. 2. 英文分词的原理 输入文本 -> 词汇分隔 阅读全文
posted @ 2022-11-01 18:18 茄子777 阅读(47) 评论(0) 推荐(0)
摘要: 概述: Es 本质上就是由分布式思想 + lucene 组合合成, 因为 lucene 的存在, 它比一般的分布式系统会稍微复杂一点, es 采取的分布式思想是 分片 + 副本 + 去中心化 lucene 核心倒排索引, 和 B-Tree 索引, k-v 索引数据结构不一样, 倒排索引是一种符合索引 阅读全文
posted @ 2022-11-01 18:12 茄子777 阅读(38) 评论(0) 推荐(0)