Sphinx 全文搜索

2013-10-14
  • 549
  • 0

Sphinx是一个独立的,能够提供快速,高效查询的搜索引擎,对于它的数据源,可以使用sql数据库或者xml管道。它有自己的api,可以和多种语言(例如php)绑定在一起,它还提供了内部与mysql的集成。

它和mysql的全文索引不同,使用sphinx的全文索引,然后从mysql数据库中检索数据,需要手动操作,索引是与mysql分开的,作为一个网络服务器运行,而不是作为mysql的组件,sphinx在文档中搜索一个或者多个相关文档id,根据id去数据库中检索数据。可以从sphinx中检索字符串,一些情况下,可以不需要访问数据库。

总体功能上,sphinx索引由索引程序产生,不是作为内部的mysql索引,在执行更新语句时会自动更新创建索引。Sphinx允许将数据库碎片与全文索引碎片分隔开来,使用sphinx,数据库在表上执行修改语句没有产生索引代价,因而会得到较好的写性能,也使得全文索引更加容易。