始终索引的MySQL索引/搜索InnoDB的替代品?

时间:2010-06-14 17:14:27

标签: mysql sphinx innodb full-text-search

我使用InnoDB作为MySQL表,显然使用LIKE和RLIKE / REGEXP的查询可能需要很长时间。

我已经尝试了Spinx,它运行得很好,除了我必须每隔一段时间重新索引上下文。我可以重新索引每一分钟,但我想知道是否有1)Sphinx中的设置以保持记录总是被索引或2)除Sphinx之外的其他软件将保持记录总是被索引。

我希望它在插入或更新记录后立即更新,索引会更新。

2 个答案:

答案 0 :(得分:3)

其中一个Apache Lucene项目可能会做得最好。

它们旨在为文本内容构建反向索引,包括执行某些自然语言处理的可选功能。 Lucene是基础项目,最初用Java编写,但现在也移植到.Net - 这使用了一个非常有效的基于文件的存储来存储数据。

对于更大的索引,Solr项目基本上是Lucene的基于服务的版本,您可以通过rest-ful服务访问。这也有缩放选项,例如通过分割多台机器的索引。

答案 1 :(得分:0)

  1. 您确定自己的文字被编入全文索引吗?
  2. 尝试使用like或boolean match而不是regex。