2011-06-27 46 views
1

我正在构建一个简单的搜索工具。搜索功能

这个想法是它将搜索代码,标题,描述和类别的字段。

搜索类别和代码非常简单,因为它只是一个词(%code%)。

但是,我不确定如何分解标题和描述以搜索用户输入的任何关键字?

有没有人有这方面的好技术?

谢谢。

回答

2

鉴于信息的少量:

如果您正在使用MyISAM存储从MySQL可以启用FULLTEXT索引和使用全文搜索过什么;有关更多信息,请参阅this link

但是,如果你使用的是InnoDB(我也在使用我的数据库),你不能在MySQL中直接启用它。

你有几个选择;要么你自己分开关键字,并搜索匹配一个或多个关键字的条目,然后检查为排序匹配了多少关键字。您还可以在查询中包含该查询,但是您需要为每个关键字进行查询并将这些结果与父查询结合起来。

另一个选项是我最终选择的选项,因为它的性能和灵活性是使用SOLR服务器并使用php solr_client(请参阅the php manual on it)。给定一些(相当简单的)配置文件,SOLR服务器将索引数据库,并允许在任何索引字段上进行全文搜索。有关设置SOLR服务器的更多信息,请参见SOLR手册:tutorial

当然,还有许多其他方法和工具。以上只是我过去使用过的或仍在使用的一些(我真的很高兴使用solr,但这是我个人的想法)。

祝你好运。

+0

感谢您的长时间回应,我正在看看您在我做下一步之前提供的所有链接。 – sark9012

0

你想要的不是MySQL做得很好。 Yhn提到了一些选择。

MySQL的FULLTEXT索引不流行的原因很多。

将文本分解为关键字并形成链接回原始项目的索引表即可使用。但实质上,这样做就像开始建立自己的搜索引擎一样。

比你可能建立的更好的搜索引擎可用。 Yhn提到SOLR,这是非常好的,但我想提及Sphinx Search,我使用。 SOLR有一些Sphinx没有的有趣功能,但我有一个印象Sphinx更容易学习和开始使用。值得你考虑。

+0

我会看看Sphinx搜索,谢谢你的回应。 – sark9012