[Preview] 全文倒排索引
自 3.3.0 起,StarRocks 支持全文倒排索引,将文本 中的每个单词进行分词处理,并为每个词建立一个索引项,记录该单词与其所在数据文件行号的映射关系。进行全文检索时,StarRocks 会根据查询的关键词对倒排索引进行查询,快速定位到与关键词匹配的数据行。
StarRocks 存算分离集群以及主键表暂时不支持全文倒排索引。
功能简介
StarRocks 底层数据是按列存储在数据文件。每个数据文件会包含基于索引列的全文倒排索引。索引列的值会被分割为一个一个词,然后每个分词后的词语都会被视为一个索引项,与包含该词语的数据文件行号构成映射关系。目前支持的分词方式有英文分词、中文分词、多语言分词、不分词。
比如有一行数据 hello world
在数据文件的行号是 123,分词成 hello
和 world
两个词。全文倒排索引就会根据这个分词结果和行号构建索引项:hello->123, world->123。
进行全文检索时,借助全文倒排索引,StarRocks 可以根据查询条件中的关键词,找到包含关键词的索引项,然后快速找到关键词所在数据文件行号,大幅减少需要扫描的数据行数。
基本操作
创建全文倒排索引
创建全文倒排索引前,需要开启 FE 配置项 enable_experimental_gin