sphinx索引分析续

简介:

4.10 同义词文件/Synonym

from => to
AT &T => AT&T
AT & T => AT & T
standarten fuehrer => Standartenfuehrer
standarten fuhrer => Standartenfuehrer
Ms-Dos => MS-DOS
MS DOS => MS-DOS

5 算法

5.1 字典

double array trie 检索树

5.2 分词算法

5.3 文档id压缩 – Variable Byte Coding

5.4 索引存储 – 多路归并排序

7 创建索引过程

  • 扫描配置文件。
  • 创建程序内部数据结构,schema, mva attr等。
  • 第一次遍历文档记录,连接数据库读取创建索引的记录。
  • 循环分词创建spa, spp文件(临时格式)(如果inline模式只创建spp文件), 如果非inplace模式,那么创建对应 tmp->spa, tmp->spp对应文件。
  • 第二次遍历文档记录,创建mva属性(非field mva attributes)。
  • 多路归并创建spm文件。
  • 更新并创建最终的spa文件,更新mva的位置信息到spa文件。
  • 读取临时格式的spp文件,多路归并创建spi,spd,spp文件。
  • 创建索引头文件sph。
  • 更新索引创建后的信息(例如存储当前已经简历索引的)释放资源

















本文转自张昺华-sky博客园博客,原文链接:http://www.cnblogs.com/bonelee/p/6251094.html ,如需转载请自行联系原作者

相关文章
|
SQL 数据库 索引
08Lucene索引库查询 - 介绍
08Lucene索引库查询 - 介绍
57 0
|
索引
07Lucene索引库的修改
07Lucene索引库的修改
35 0
|
存储 自然语言处理 索引
05Lucene索引库的添加
05Lucene索引库的添加
40 0
|
索引
06Lucene索引库的删除
06Lucene索引库的删除
42 0
|
SQL 存储 自然语言处理
sphinx(一)全文检索引擎sphinx
Sphinx是一个基于SQL的全文检索引擎,可以结合MySQL,PostgreSQL做全文搜索,它可以提供比数据库本身更专业的搜索功能,使得应用 程序更容易实现专业化的全文检索。Sphinx特别为一些脚本语言设计搜索API接口,如PHP,Python,Perl,Ruby等,同时为MySQL 也设计了一个存储引擎插件。
661 0
sphinx(一)全文检索引擎sphinx
|
存储 缓存 关系型数据库
MySQL-索引优化篇(1)_安装演示库 & [前缀索引、联合索引、覆盖索引] & explain参数
MySQL-索引优化篇(1)_安装演示库 & [前缀索引、联合索引、覆盖索引] & explain参数
79 0
|
存储 SQL 自然语言处理
sphinx全文检索引擎
sphinx全文检索引擎
159 0
|
搜索推荐 数据库 索引
sphinx(八)sphinx增量索引
主索引的更新频率可以设置的长一些(例如设置在每天的凌晨进行),而增量索引的更新频率,我们可以将时间设置的很短(几分钟左右),这样在用户搜索的时候,我们可以同时查询这两个索引的数据。 使用“主索引+增量索引”方法有个简单的实现,在数据库中增加一个计数表,记录每次重新构建主索引时,被索引表的最后一个数据id,这样在增量索引时只需要索引这个id以后的数据即可,每次重新构建主索引时都更新这个表。
236 0
sphinx(八)sphinx增量索引
|
关系型数据库 MySQL 测试技术