Php 部分关键字搜索
有人能告诉我如何使用php/mysql搜索引擎进行部分关键字搜索吗 例如,如果一个人搜索“just Cant get Though”,我希望它返回包含关键字“just Cant get Though by black eyed peas”或关键字“black eyed peas just Cant get Though”的搜索结果 另一个例子:如果我输入“橙汁”,我希望它返回关键字为“橙汁味道好”的结果 这很像谷歌和youtube搜索Php 部分关键字搜索,php,mysql,search-engine,Php,Mysql,Search Engine,有人能告诉我如何使用php/mysql搜索引擎进行部分关键字搜索吗 例如,如果一个人搜索“just Cant get Though”,我希望它返回包含关键字“just Cant get Though by black eyed peas”或关键字“black eyed peas just Cant get Though”的搜索结果 另一个例子:如果我输入“橙汁”,我希望它返回关键字为“橙汁味道好”的结果 这很像谷歌和youtube搜索 我使用的代码是:您使用的搜索方法是从少量记录中搜索的标准方法
我使用的代码是:您使用的搜索方法是从少量记录中搜索的标准方法。例如,如果你只有大约1000条记录,那就可以了 但是,如果你必须从数百万条记录中搜索,这个方法将不会被使用,因为它将非常缓慢 相反,你有两个选择
在我工作的公司,我们将搜索查询推送到。Craigslist、Pirate Bay、Slashdot等网站都使用此功能,因此它在生产中的应用已经得到了验证。在MySQL中,您可以使用MyISAM类型的表,只需定义一个文本字段(CHAR、VARCHAR或text),然后创建全文索引。请记住文本字段的大小,允许的字符越多,索引的大小就越大,更新速度就越慢 其他大型数据集选项可能包括这样的内容,但除非您已经知道您的数据将拥有大量数据,否则您肯定可以从MySql开始,看看它是如何运行的 大多数MySQL编辑器(包括phpmyadmin)都提供了用于添加索引的gui,如果您是手工操作,则代码如下所示:
CREATE TABLE IF NOT EXISTS `test2` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` text CHARACTER SET utf8 NOT NULL,
PRIMARY KEY (`id`),
FULLTEXT KEY `ft_name` (`name`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
我如何在php/mysql搜索引擎中使用mysql全文搜索。你有没有试过阅读这个主题?