PHP中的MySQL全文搜索

PHP中的MySQL全文搜索,php,mysql,full-text-search,Php,Mysql,Full Text Search,我计划使用全文搜索来搜索一个不断变化的潜在大型数据库。我在一些资料中读到,对于不断变化的数据库,通常不建议使用全文搜索。我正在寻找最好的mysql内置方法来搜索这种数据库。如果我不能实现外部搜索引擎,全文搜索仍然是推荐的搜索方式吗?当我遇到这个问题时,我使用了Lucene的端口。我不知道它在Symfony或Zend之外是否可用,但它使用sfLucene插件工作起来很有魅力。它解决了我所有的文本搜索问题。此网站可能会帮助您: 如果你正在寻找一个MySQL的替代品,在那里你可以进行全文搜索和关系处理

我计划使用全文搜索来搜索一个不断变化的潜在大型数据库。我在一些资料中读到,对于不断变化的数据库,通常不建议使用全文搜索。我正在寻找最好的mysql内置方法来搜索这种数据库。如果我不能实现外部搜索引擎,全文搜索仍然是推荐的搜索方式吗?

当我遇到这个问题时,我使用了Lucene的端口。我不知道它在Symfony或Zend之外是否可用,但它使用sfLucene插件工作起来很有魅力。它解决了我所有的文本搜索问题。此网站可能会帮助您:


如果你正在寻找一个MySQL的替代品,在那里你可以进行全文搜索和关系处理,并且仍然与MySQL兼容,那就四处看看吧。它集成了Shpinx。您可以阅读有关功能的信息。

全文搜索由设计师决定。这意味着,如果将数据库设计为关系数据库,那么在innodb的情况下,将丢失全文搜索。Myisam允许全文搜索,但会丢失真正的关系数据库。我建议离开sql数据库,如果可能的话,使用另一个数据库。一个好的建议是CouchDB。显然,您必须有一个虚拟的或专用的服务器来安装CouchDB或任何其他db,甚至可能会询问您的主机是否可以为您安装它。在大多数情况下,主机不会仅仅为您安装软件。有免费托管的CouchDB站点。我还了解将所有内容切换为使用备用db所涉及的工作。这些是开发人员的用例

可能有助于了解您所说的潜在大容量是什么意思。一百万排?一亿排?此外,答案在很大程度上取决于您打算如何处理搜索请求。您可以轻松地缓存常用搜索词,并通过后端脚本重建缓存。它不会那么大。我在考虑100000行,但这些条目将不断变化。pfft!十万行算不了什么,先生。除非它恰巧存储了10个blob列,全部是全文,否则你就不会担心这个了。全文删除。不要担心它会改变很多。除非你的意思是像一个愤怒的用户聊天日志。即使那样也没关系。服务器现在很难用。你看过斯芬克斯吗这并不能回答你的问题,但可能有助于调查。非常感谢你,凯:)@juand:是的,我看过狮身人面像,但遗憾的是,到目前为止,我还没有选择(我认为Solr更容易选择