首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >构建智能mySQL和PHP搜索引擎的最佳方法?

构建智能mySQL和PHP搜索引擎的最佳方法?
EN

Stack Overflow用户
提问于 2011-01-10 02:45:29
回答 5查看 21K关注 0票数 17

构建mySQL & PHP搜索的最佳方法是什么?

我目前使用的东西如下

%术语%

我希望它能够找到结果,即使他们拼错了,例如:

字段值=“1:停止商店:

他们搜索:

一个商店站

一站式商店

等等。我想要一个非常聪明的搜索,所以他们找到信息,即使他们没有搜索到确切的东西。

建立这样的智能搜索的最好方法是什么?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2011-01-10 04:09:11

like '%term%'非常慢且未优化,您可能需要为本专栏和为此使用布尔模式。添加全文。

比如

代码语言:javascript
复制
match(column) against('+One +Shop +Stop' in boolean mode)

请注意,最小单词长度为4,因此,您需要考虑将其更改为3,并且全文搜索仅适用于myisam。

斯芬克斯这样的开源搜索引擎也是理想的选择。

票数 7
EN

Stack Overflow用户

发布于 2013-09-24 18:00:59

Ajreal is right...just认为我应该添加一个示例来帮助解决这个问题:

代码语言:javascript
复制
$query = sprintf("SELECT *, 
         MATCH(col1, col2) AGAINST('%s' IN BOOLEAN MODE) AS relevance
     FROM my_table
     ORDER BY relevance DESC LIMIT 20", $keyword);
$rs = $conn->query($query);

希望这能有所帮助

票数 7
EN

Stack Overflow用户

发布于 2011-01-10 04:21:03

通过搜索原始数据无法提高效率。这种文本搜索取决于数据的索引方式(这就是Google引入Google的原因)。

所以,第一步是索引。如果您的数据在某些网页中,您可以使用现有的标准爬虫(甚至可以轻松构建自己的爬虫,我建议用python来构建爬虫器)。如果您的数据位于某个文件中(而不是可浏览的web文件),那么为了建立索引,您需要编写一个程序来读取所有数据并对其进行索引。

第二步是搜索。检索方法依赖于索引策略。

如果您正在寻找基于php-mysql的系统,请查看这些项目的代码:

http://www.phpdig.net/

http://sphinxsearch.com/

如果您想了解更多信息,请在IEEE Xplore/ACM出版物档案中搜索。你会得到很多关于这个主题的论文。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4643296

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档