And*_*tes 1 php mysql search full-text-search
在这个问题上列出: MySQL问题 - COMPLETE服务器溢出!请告知 我的所有服务器详细信息,因此我不必在此重新编写它们.
所以我有一个与mysql DB交互的PHP脚本.2天前,由于我的用户提出了很多要求,我已经从clasic"select*from table where'像'blabla'这样的列和像'lablab'这样的列'切换到全文搜索.索引,测试,好去.工作2天,已收到一袋抱怨.
搜索确实更好,即如果你使用完整的单词...... :(
尝试搜索"苹果",你会发现几乎相同的结果.
尝试以低价格搜索"苹果电脑",全文搜索优先于任何LIKE搜索
尝试搜索"ple",你可以用经典的方法得到一个完整的结果列表...但是一个很大的"没有找到"文字放在你面前,全文搜索...
很抱歉让它听起来如此富有诗意......:|
这有什么解决方法吗?使全文使用一些疯狂的通配符?像%foo%应该带给我ffoork,flfooor等...
对于那些你问的人,是的,我还没有比语法,简单表达式和基本功能更了解mysql.
请帮我一个代码片段或链接到一些方法来解决这个问题......如果可能的话,我宁愿不要让我的存在与一些第三方mysql搜索引擎复杂化,但作为最后的手段......
非常感谢你提前!干杯!
对不起,我忘记了我的代码:
$query="SELECT *,
CASE when title like '%".$s."%' then 1 else 0 END as titlematch,
CASE when tags like '%".$s."%' then 1 else 0 END as tagsmatch,
MATCH (title, tags) AGAINST ('".$s."') AS relevance
FROM videos
WHERE MATCH(title, tags) AGAINST ('".$s."' IN BOOLEAN MODE)
HAVING relevance > 0
ORDER by titlematch desc, tagsmatch desc, relevance desc, `datetime` desc, `views` desc
";
Run Code Online (Sandbox Code Playgroud)