gpt4 book ai didi

mysql - 最有效的搜索查询

转载 作者:行者123 更新时间:2023-11-29 02:27:37 25 4
gpt4 key购买 nike

这个问题在这里已经有了答案:





MySQL - How to ORDER BY RELEVANCE? INNODB Table

(1 个回答)


8年前关闭。




我有一张产品表,我想在其中搜索产品。
目前,查询如下所示:

$query = "SELECT * FROM `products` WHERE `name` LIKE '%$qr_search%' LIMIT 0,$products_per_single_search";

如您所见,我使用 %SOME_TEXT%方法,很好,但还不够好。

如果用户搜索 pen他会得到如下结果:
  • 一分钱
  • 彭特拉
  • somewordPENword

  • 等等。我并不是说获得这些结果无关紧要,但我想在其中进行一些排序,因此最相关的结果将首先显示。

    有没有更好的机制呢?

    最佳答案

    MySql 中没有内置相关引擎。但是你可以添加这个ORDER BY子句为排序添加一些规则:

    ORDER BY CASE WHEN `name` LIKE '% $qr_search %' THEN 0
    WHEN `name` LIKE '% $qr_search' THEN 1
    WHEN `name` LIKE '$qr_search %' THEN 2
    ELSE 3
    END

    关于mysql - 最有效的搜索查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18809607/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com