我想在网站上添加搜索功能,以便用户搜索整个网站。
该网站有大约20个表格,我希望搜索搜索所有20个表格。
任何人都可以指出我需要构建什么样的mysql查询?
答案 0 :(得分:2)
首先,如何将custom Google websearch添加到您的网站?
困难的方法:您应该对每个表和LIMIT
(在文本列上使用LIKE
进行查询,或者如果您的数据库软件支持这一点,则使用全文索引)X的结果(例如十)结果。在您的代码中,以某种方式评估这些结果并显示X最佳结果。
您也可以尝试使用多个查询的UNION
,但结果元组都必须具有相同的结构(如果我没记错的话)。
答案 1 :(得分:1)
搜索引擎。我的Comp Sci学位论文。首先,你必须问自己这个问题。您希望为用户提供什么类型的搜索。如果用户将清楚地知道他们正在寻找什么,例如基于产品的网站,那么您应该提供基于元数据的搜索引擎。例如,用户将搜索特定产品或产品类型。这通常很容易提供。
接下来是您熟悉的网络搜索引擎,例如Google。谷歌在这里针对一个完全不同的市场典型的用户并不确切地知道他们在寻找什么。他们只知道他们正在寻找与飞机有关的事情。现在谷歌必须尝试找出最有可能匹配的结果,并且最相关。
我知道Google有一个非常复杂和优化的系统但是从内存中如果你想要这样,你需要创建一个称为倒排索引文件的东西。然后你需要开始考虑同义词库,因为如果用户键入cat,那么你还应该提供包含单词feline的结果。也是单词树,因为用户输入的猫猫结果也是相关的。
我很确定如果您为您的网站提供搜索引擎,那么它很可能是元数据搜索引擎,在这种情况下您可以推出自己的解决方案。如果没有,你正在寻找第二种类型,那么为什么不使用谷歌的服务。它们提供可在您自己的网站中使用的自定义搜索。
答案 2 :(得分:1)
答案 3 :(得分:0)
1。:在包含内容的字段上设置FULLTEXT索引并使用全文搜索mysql提供:http://dev.mysql.com/doc/refman/5.0/en/fulltext-search.html
或
2:看看Zend Framework提供的lucene搜索:http://framework.zend.com/manual/en/zend.search.lucene.html
答案 4 :(得分:0)