0

我有一个 MYsql 数据库,其中包含书籍、作者和其他详细信息的名称。

哪个索引引擎可以搜索它们?

我想使用Sphider

它适用于MySQL数据库吗?

4

2 回答 2

2

如果您的所有数据都已经在 mysql 数据库中,那么您不需要任何搜索/索引引擎。使用 PHP 中可用的扩展之一来查询 mysql 数据库:MySQLi 或 PDO
阅读扩展的文档,了解如何使用这些功能。

然后您将能够编写 PHP/MySQL 代码来操作数据库中的数据。

于 2012-09-18T16:10:06.793 回答
2

解决方案 1:对包含要搜索的记录的表使用 MyISAM 表引擎。然后,您可以在要搜索的列上创建索引,然后应用全文搜索功能。 http://dev.mysql.com/doc/refman/5.5/en/fulltext-search.html

注意:当使用 MyISAM 时,您将没有事务能力,并且表可能会损坏(恢复很困难)。此外,从 MySQL 5.6.4 开始,InnoDB 具有全文支持(尽管它是一项新功能,因此它可能存在错误并且基准仍然不够充足)。

解决方案 2:使用 Sphinx 搜索服务器。它是超快速的分布式搜索系统。Sphinx 将从 MySQL 数据库中提取您想要索引的字段并对其进行索引。然后,您可以使用 Sphinx SQL 来获取与您的查询匹配的文档 ID,或者使用 Sphinx API(为知名语言提供)来获取文档 ID 匹配。 http://sphinxsearch.com/

在索引和查询服务方面,Sphinx 非常快。值得一看。我会推荐它。

于 2012-09-18T16:10:50.063 回答