Php 如何从搜索表单中获得最相关的点击
我正在为我的网页制作搜索表单,无意中发现了以下信息:Php 如何从搜索表单中获得最相关的点击,php,mysql,mysqli,Php,Mysql,Mysqli,我正在为我的网页制作搜索表单,无意中发现了以下信息: animal animal | country ---------------- Dog | USA Cat | Canada Mouse | Sweden Snake | New Zealand 在我的搜索表单中,我可能希望搜索以下内容: 1) “美国狗”或“美国狗” 2) “新西兰蛇”或“新西兰蛇” 我想我必须把输入的文本分开,然后设法找到正确的参数并搜索正确的列 问题是我将如何生成SQL语句以获得最准确和相关的命中
animal
animal | country
----------------
Dog | USA
Cat | Canada
Mouse | Sweden
Snake | New Zealand
在我的搜索表单中,我可能希望搜索以下内容:
1) “美国狗”或“美国狗”
2) “新西兰蛇”或“新西兰蛇”
我想我必须把输入的文本分开,然后设法找到正确的参数并搜索正确的列
问题是我将如何生成SQL语句以获得最准确和相关的命中率?
或者有人能告诉我怎么做吗?你可以在
mysql
中使用全文搜索。比如说,
SELECT * FROM `table`
WHERE MATCH(animal) AGAINST ('$your_search_string')
OR MATCH(country) AGAINST ('$your_search_string');
您可以在
mysql
中使用全文搜索。比如说,
SELECT * FROM `table`
WHERE MATCH(animal) AGAINST ('$your_search_string')
OR MATCH(country) AGAINST ('$your_search_string');
MySQL提供了几种全文搜索索引模式,请调查这些模式是否适合您。如果你需要更强大的功能,有Lucene和基于它的东西,比如Solr和许多类似的专门从事全文搜索的项目。如果你决定使用全文搜索,请确保你有足够的测试数据,因为任何检索到超过总结果50%的内容都被视为“失败搜索”。默认值为<3(或是4?)个字母作为搜索词也被视为“搜索失败”。请注意。我的表格包含每个cols中的国家和动物,当我搜索“cat canada”时,它必须匹配这两个词,并输出精确匹配的结果。当然,一只动物也可以位于多个国家。MySQL提供了几种模式的全文搜索索引,请调查是否适合您。如果你需要更强大的功能,有Lucene和基于它的东西,比如Solr和许多类似的专门从事全文搜索的项目。如果你决定使用全文搜索,请确保你有足够的测试数据,因为任何检索到超过总结果50%的内容都被视为“失败搜索”。默认值为<3(或是4?)个字母作为搜索词也被视为“搜索失败”。请注意。我的表格包含每个col中的国家和动物,当我搜索“cat canada”时,它必须匹配这两个单词,并输出精确匹配。当然,一只动物也可以位于多个国家。两个col必须匹配搜索字符串,因此如果我在搜索框中键入:cat canada,我必须检查两个col是否匹配。不要认为它是通过使用或语句实现的?请查看此文档。这可能会对您有所帮助:两个col必须匹配搜索字符串,因此如果我在搜索框中键入:cat canada,我必须检查两个col是否匹配。不要认为它是通过使用或语句实现的?请查看此文档。这可能会帮助您: