gpt4 book ai didi

mysql - 搜索带有特殊字符和 '*'的MySQL FT索引时出错

转载 作者:行者123 更新时间:2023-11-29 16:08:25 24 4
gpt4 key购买 nike

我正在尝试在 MySQL FT 索引中搜索“Ford”开头的字符串,以便能够找到“Ford”、“Ford1”、“Ford3”、“FordFord”等字符串...(这就是我使用“*”的原因):

SELECT DISTINCT CARS.car
FROM CARS_FT_INDEX CARS_IDX
WHERE ( MATCH ( CAR_NAME ) AGAINST ( "/+FORD*/" IN BOOLEAN MODE) )

但是,搜索词可能包含“@”或其他特殊字符(“/+FORD@*/”),解析时会显示错误消息:

SQL Erorr (1064): syntax error, unexpected '@', expecting $end

有人建议我用 ' ('"/+FORD@*/"') 将该术语括起来。

但是搜索词 :AGAINST ('"/+FORD@*/"' IN BOOLEAN MODE)(带有 '@' 和 '')不会起到 “开始于”现在(仅完全匹配),我无法搜索多个单词('“/+FORD1 +FIAT*/”')。

我尝试了很多变体(包括 CONCAT)并尝试在 google 中搜索,但在这里找不到任何解决方案。

非常感谢您的建议。

谢谢,迈克

最佳答案

好像不太可能,或者太复杂了。

我决定从搜索词中省略特殊字符,如下所述: https://mariadb.com/kb/en/library/full-text-index-overview/#in-boolean-mode

无论如何谢谢!迈克

关于mysql - 搜索带有特殊字符和 '*'的MySQL FT索引时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55513995/

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