繁体   English   中英

MySQL全文搜索的替代方案

[英]An alternative to MySQL fulltext search

我读到MySQL 全文搜索会导致表锁定 这意味着人们在搜索表时无法插入或更新表。

我读到有很多搜索服务器 (Lucence和Sphinx)可以在没有表锁定的情况下完成它甚至更快。 需要很多配置并且难以实现

有没有其他方法可以使用全文或一些不使用搜索服务的搜索? 我不想再配置MySQL以外的服务器。

创建一个额外的表,该表仅用于执行FULLTEXT搜索。 在您的代码中,您必须确保将所有数据和操作(创建,更新,删除)正确复制到此表。 如果您的数据表正在运行,例如InnoDB引擎,此解决方案也很方便。

Apache Lucene不需要很多配置 ,也不难实现 此外,它是最受欢迎的全文搜索引擎之一,并允许用户进行非常精确的查询,如“成为或不成为”,j?hn d?e,func *等。

我已经使用Lucene做了一些数据库索引,所以如果你能更精确地指出你想索引哪些表的哪些字段,我可以给你一些应该做的技巧。

无论如何,我投票支持Sphinxsearch。 它有一个接近Mysql的API,易于安装和配置。 不像Apache Lucene那么通用,但在我的项目中快速且非常有用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM