gpt4 book ai didi

mysql - 替换通配符 %LIKE% 查询

转载 作者:行者123 更新时间:2023-11-29 13:57:41 25 4
gpt4 key购买 nike

我有一个文件路径搜索,允许用户在网站上搜索他/她的文件。示例条目是:

`path`
- /Volumes/Fulfill/03-01-13/FILFILE.txt
- /Volumes/Master/.Trash/Weeds.mov

如果有人搜索“master mov”,它将执行以下查询:

SELECT * FROM files WHERE path LIKE '%master%' AND path LIKE '%mov%'

并且会返回:

- /Volumes/Master/.Trash/Weeds.mov

进行上述搜索的更好方式或方法是什么?

更新:我尝试执行以下操作,但我的 MYISAM FULLTEXT 搜索实现根本无法正常工作:

select * from path where path like '%red%' and path like '%state%' <-- works
select * from path where match(path) against ('red state'); <-- zero results

除了上面的方法之外,还有其他实现全文搜索的方法吗?

最佳答案

% 是通配符。如果你用这样的东西替换它会更快:

SELECT * FROM files WHERE path LIKE '/Volumes/Master%mov'

因为您没有检查更多条件。

更新

对于全文选项,您会(一次)

ALTER TABLE files ADD FULLTEXT(path);

然后进行搜索

SELECT * FROM files
WHERE MATCH (path)
AGAINST ('+Master +mov' IN BOOLEAN MODE);

短单词将被忽略,默认最小长度为 4 个字符。您可以使用变量 ft_min_word_len 和 ft_max_word_len 更改最小和最大字长

关于mysql - 替换通配符 %LIKE% 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15581420/

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