Sphinx/实时索引更新

来自站长百科
跳转至: 导航、​ 搜索

Sphinx | 安装 | 建立索引|搜索|命令行工具参考|MySQL存储引擎

有这么一种常见的情况:整个数据集非常大,以至于难于经常性的重建索引,但是每次新增的记录却相当地少。一个典型的例子是:一个论坛有1000000个已经归档的帖子,但每天只有1000个新帖子。

在这种情况下可以用所谓的“主索引+增量索引”(main+delta)模式来实现“近实时”的索引更新。

这种方法的基本思路是设置两个数据源和两个索引,对很少更新或根本不更新的数据建立主索引,而对新增文档建立增量索引。在上述例子中,那1000000个已经归档的帖子放在主索引中,而每天新增的1000个帖子则放在增量索引中。增量索引更新的频率可以非常快,而文档可以在出现几分种内就可以被检索到。

确定具体某一文档的分属那个索引的分类工作可以自动完成。一个可选的方案是,建立一个计数表,记录将文档集分成两部分的那个文档ID,而每次重新构建主索引时,这个表都会被更新。

参考来源[ ]

Sphinx使用手册导航

安装

支持的操作系统|需要的工具|在Linux、BSD上安装Sphinx|在Windows上安装Sphinx|已知的安装问题和解决办法|Sphinx快速入门教程

建立索引

数据源|属性|MVA|索引|源数据的限制|字符集、大小写转换和转换表|SQL 数据源|xmlpipe 数据源|xmlpipe2 数据源|Python 数据源|实时索引更新|索引合并

搜索

匹配模式|布尔查询语法|扩展查询语法|权值计算|排序模式|结果分组|分布式搜索|searchd查询日志格式|MySQL 协议支持与SphinxQL

命令行工具参考

indexer命令参考|searchd命令参考|search命令参考|spelldump命令参考|indextool命令参考

MySQL存储引擎

SphinxSE 概览|安装 SphinxSE|使用 SphinxSE|通过 MySQL 生成片段