我想在我的网站上建立一个搜索工具。我正在使用php .. 搜索应采用什么标准。 例如:如果有人搜索
How to make soap
我可以使用许多方法进行搜索,例如查找具有完全相同搜索字符串的数据库条目 或按搜索关键字的顺序查找数据库条目(即带有搜索字符串的条目“How”+“Soap”的优先级低于具有搜索字符串“how soap make”的条目...)
那么通常用于搜索的算法是什么。?
全文搜索的含义是什么?
答案 0 :(得分:1)
这是一个简单回答的大问题,但我认为你的意思是如何在MySQL上运行复杂的全文搜索。换句话说,这实际上是一个MySQL问题,而不是PHP问题。
基本上,你需要: 1.在数据库的文本字段上创建全文索引。 2.使用MySQL的全文语法在该数据库字段上运行查询。
在MySQL中查询全文索引表的基本语法是:
SELECT * FROM table
WHERE MATCH (fulltextfield)
AGAINST ('my search phrase');
除此之外还有很多其他内容,但MySQL文档可以去了:http://dev.mysql.com/doc/refman/5.0/en/fulltext-natural-language.html
如果你想进行真正高级的全文搜索,一个好的建议是Sphinx,但这可能比你需要的更先进。