1. 背景
-
性能瓶颈:并发查询能力差,频繁更新场景下严重影响写入性能; -
功能有限:不支持复杂的分词策略(如中文分词)。
-
实时性与一致性挑战:ES 与 DB 间需要同步数据,难于满足数据实时性,也不支持 ACID 事务而无法保证索引更新与数据库操作的原子性; -
查询语义割裂:需要编写 SQL 查询和 ES 查询逻辑,业务代码耦合度高。 -
成本上升且架构复杂:额外计算资源且数据冗余存储成本高,增加构架复杂性也提升系统维护难度。
2. 倒排索引
2.1 分词器
2.2 倒排列表
2.3 词项字典
2.4 倒排构建
2.5 倒排检索
3. 性能测试
3.1 数据集
3.2 性能测试
4. 应用场景
4.1 日志分析
-
以 ES 为代表的全文检索架构,全文索引查询性能高,但实时写入吞吐低且存储成本高,总体成本比较高; -
以 Loki 为代表的轻量索引或无索引架构,实时写入吞吐高且存储成本较低,但查询效率低,难于满足实时性。
4.2 商品搜索
4.3 内容搜索
4.4 混合检索
5. 总结
点击阅读原文了解 PolarDB列存全文索引 详情

