gpt4 book ai didi

MySQL LIKE 运算符与 MATCH AGAINST

转载 作者:可可西里 更新时间:2023-11-01 06:53:11 25 4
gpt4 key购买 nike

您好,我很担心如何实现一个简单的搜索查询,我的场景是:

tag VARCHAR 255

现在我需要在标签字段内搜索,我可以使用两种查询:

  SELECT * FROM table WHERE tag LIKE '%1111%' OR LIKE '%2222%' OR LIKE '%3333%';

SELECT * ,MATCH(tag) AGAINST('+1111','+2222','+3333' IN BOOLEAN MODE) as score FROM table ORDER BY score DESC ;

哪个更准确/精确,哪个更快?

谢谢

最佳答案

您的搜索不相同。 LIKE %1% 将找到包含 1 的任何内容,例如1009110.1。这只是一个普通的子串匹配。 MATCH ('+1') 理论上可行,但默认情况下 FULLTEXT 会忽略长度小于 4 个字符的任何“单词”。但是,假设您放宽了全文长度限制,+1 会找到任何独立的 1,但不会找到任何嵌入另一个词中的内容。为此,您需要 +*1*

关于MySQL LIKE 运算符与 MATCH AGAINST,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14776350/

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