我在Windows 10上用InnoDB表使用XAMPP8.1.10,并试图使用ngram解析器创建一个带有全文索引的MariaDB表,以支持中文、日语和韩文的搜索。
当我尝试执行此操作时,即使使用来自MySQL自己的网站的精确示例命令,也会在PHPMyAdmin中出现以下错误:
Error
Static analysis:
1 errors were found during analysis.
A comma or a closing bracket was expected. (near "WITH" at position 158)
SQL query: Copy
CREATE TABLE articles ( id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY, title VARCHAR(200), body TEXT, FULLTEXT (title,body) WITH PARSER ngram ) ENGINE=InnoDB CHARACTER SET utf8mb4;
MariaDB said: Documentation
#1128 - Function 'ngram' is not defined
示例命令如下:
CREATE TABLE articles (
id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
title VARCHAR(200),
body TEXT,
FULLTEXT (title,body) WITH PARSER ngram
) ENGINE=InnoDB CHARACTER SET utf8mb4;
如果我从全文行中删除“WITH解析器ngram”,它可以正常工作,但当然不会使用ngram解析器。使用ALTER命令也不起作用:
ALTER TABLE articles ADD FULLTEXT INDEX ft_index (title,body) WITH PARSER ngram;
给出此错误:
Error
Static analysis:
1 errors were found during analysis.
A new statement was found, but no delimiter between it and the previous one. (near "WITH" at position 62)
SQL query: Copy
ALTER TABLE articles ADD FULLTEXT INDEX ft_index (title,body) WITH PARSER ngram;
MariaDB said: Documentation
#1128 - Function 'ngram' is not defined
是ngram解析器没有安装在XAMPP中,还是我做了其他错误?
编辑:很明显,XAMPP使用MariaDB,尽管它在XAMPP控制面板和错误消息中说MySQL。MariaDB还不支持ngram解析器。在XAMPP中将MariaDB替换为MySQL解决了使用本指南https://stackoverflow.com/a/58973750/20394214
发布于 2022-11-30 06:25:10
显然,XAMPP使用MariaDB,尽管它在XAMPP控制面板和错误消息中表示MySQL。MariaDB还不支持ngram解析器。在XAMPP中将MariaDB替换为MySQL解决了使用本指南https://stackoverflow.com/a/58973750/20394214
https://stackoverflow.com/questions/74621636
复制相似问题