数据库
首页 > 数据库> > mysql-使用innoDb实现搜索功能的最佳方法

mysql-使用innoDb实现搜索功能的最佳方法

作者:互联网

如果要使用innodb在大型产品表中建立索引,则需要在一对夫妇上执行全文搜索之类的操作,但MyISAM由于缺少事务和关系支持而无法使用.

我可以想到几种方法,例如插件,存储过程,带有关键字的搜索表以及MyIsam格式的复制索引.

您过去如何做到这一点,这是最好的方法(包括我没有提到的任何方法),为什么?

插件听起来很昂贵,存储过程听起来很慢,搜索表听起来像管理员梦m.

喜欢听听您的意见.

解决方法:

一种可能是使用外部(独立于数据库)全文引擎,例如Lucene(如果使用PHP,则可能还需要查看Zend_Search_Lucene)

其中有很多(有些是免费的,有些是昂贵的,有些是开源的,有些是专有的);但是它们通常会让您走得比MySQL全文本所允许的更进一步-并且它不会集成到数据库中(这可能很好:例如,您可以为文档建立索引-或糟糕:您可以”将这些结果与您的SQL查询结果之一轻松合并)

使用这种引擎的优势在于,全文搜索确实是他们的工作;并且他们应该做得很好(并且对用户倾向于输入的内容“保持智能”).

缺点是你必须有另外一个引擎;这意味着更多的工作,更多的配置和更多的开发,因为您不能仅仅将它们“插入”到数据库中.

标签:innodb,full-text-search,mysql
来源: https://codeday.me/bug/20191024/1920492.html