概述
Full-Text Search 是将存储于数据库中的整本书
或整篇文章
中的任意内容信息
查找出来的技术。
倒排索引
全文索引通常使用倒排索引(inverted index)来实现。
在辅助表(auxiliary Table)存储单词与单词自身在一个或多个文档中所在位置之间的映射。通常利用关联数组实现,拥有2种表现形式:
- inverted index:表现形式为{单词,单词所在文档的ID}
- full inverted index:表现形式为{单词,(单词所在文档的ID,在具体文档中的位置)}
full inverted index 占用更多空间,但能更好定位数据,并扩充一些其他的搜索特性。
InnoDB的全文检索
采用full inverted index 方式。将(DocumentId,Position)视为一个“ilist”。全文检索表中有2个列,一个是word字段,另一个是ilist字段,并在word字段设有索引。在ilist字段存放了Position信息,可进行Proximity Search。
网友评论