2013-04-26 136 views
1

我需要为我的网站创建一个强大的搜索页面,我使用的是php & mysql。在MySQL数据库中搜索结果包含部分匹配的字符串

我想

  • 获得与部分匹配的结果。 例如,如果我有stackoverflow在分贝,但我已搜索stacke,以便应显示在结果中。

    我知道LIKE。我想建立一个类似谷歌的搜索,它也会采用类似的字词和搜索。

  • 通过单独匹配搜索字符串中的每个单词来获得结果。

+0

你想使用[全文搜索索引(http://dev.mysql.com/doc/refman/5.5/en/fulltext-search.html )的MySQL或像[Elastic Search](http://www.elasticsearch.org)或[Solr](http://lucene.apache.org/solr/)这样的外部搜索提供程序? – tadman 2013-04-26 15:12:14

+0

'stackoverflow'中没有'stacke' – 2013-04-26 15:14:15

+0

@tadman - 感谢您理解需求伙伴! 我想建立一个像谷歌一样的搜索,它也会采用类似的类型单词和搜索。 – rosinghal 2013-04-26 20:13:10

回答

5

我不知道“堆栈”,因为这不是“stackoverflow”的子字符串。也许你的意思是“stacko”?在这种情况下,您的查询会像

SELECT stuff FROM table WHERE field LIKE "stacko%"; 
+0

我知道LIKE。请再次阅读这个问题,我修改了它。 – rosinghal 2013-04-27 15:40:04