mysql全文搜索
我想在MYSQL中使用match-on高效地进行全文搜索。特别是我需要使用二进制运算符(例如,匹配某些文本,但不匹配其他文本)。但是,我还需要高效的事务支持。mysql全文搜索,mysql,innodb,Mysql,Innodb,我想在MYSQL中使用match-on高效地进行全文搜索。特别是我需要使用二进制运算符(例如,匹配某些文本,但不匹配其他文本)。但是,我还需要高效的事务支持。 但只有MYISAM支持全文搜索,Innodb不支持全文搜索。怎么办?假设您需要使用Innodb 我建议使用外部搜索工具——斯芬克斯或索尔会得到我的选票。两者都比mysql全文搜索返回更好的结果,而且速度更快。我认为sphinx更容易使用,尤其是mysql 如果您无法安装其中任何一个,或者只是没有时间,您可以移动或复制myisam表中的必要
但只有MYISAM支持全文搜索,Innodb不支持全文搜索。怎么办?假设您需要使用Innodb 我建议使用外部搜索工具——斯芬克斯或索尔会得到我的选票。两者都比mysql全文搜索返回更好的结果,而且速度更快。我认为sphinx更容易使用,尤其是mysql
如果您无法安装其中任何一个,或者只是没有时间,您可以移动或复制myisam表中的必要字段,以便使用mysql的全文搜索。这是一个建议,而不是答案 如果你想要一个大型数据库或者想要高级功能,不要使用mysql的全文搜索。你可以使用狮身人面像或lucene
狮身人面像通常更快更轻,但Lucene有更多的特点。我个人使用Sphinx。您也可以尝试使用Ferret,它是apache搜索库的ruby实现。根据速度测试,它也快得多。建议不错,但我不能移动或复制表/列,我需要在搜索后删除匹配结果,最好在一条SQL语句中完成。使用Lucene,因为Lucene是基于Java的。可以使用Lucene或sphinx的任何语言。事实上,lucene的“设置”是基于java的。插入和更新可以不经过它们就完成吗?“任何语言”如何使用它们?他们会不断更新指数吗?