実現したいこと
MySQLの全文検索で「WITH PARSER ngram」という記述は必要なのか?どのような効果があるのか?を知りたいです。
もし大事な効果があり必要性が高い場合、次のエラーを解消する方法を知りたいです。
宜しくお願い致します。
発生している問題・エラーメッセージ
CREATEに失敗しこちらのエラーとなりました。
#1128 - Function 'ngram' is not defined
該当のソースコード
こちらのように「WITH PARSER ngram」を記述した場合のエラーです。
SQL
1CREATE TABLE a_test ( 2 ID INT(10) UNSIGNED NOT NULL AUTO_INCREMENT, 3 contents VARCHAR(500) CHARACTER SET utf8mb4 NOT NULL, 4 PRIMARY KEY (ID), 5 FULLTEXT full_index_a_test (contents) WITH PARSER ngram 6);
試したこと
どうやら 'ngram' の辺りが悪いみたいなので消して、次のように記述したらCREATEが成功しました。
SQL
1CREATE TABLE a_test ( 2 ID INT(10) UNSIGNED NOT NULL AUTO_INCREMENT, 3 contents VARCHAR(500) CHARACTER SET utf8mb4 NOT NULL, 4 PRIMARY KEY (ID), 5 FULLTEXT full_index_a_test (contents) 6);
しかしこれを消していいものかどうか?わからないので詳細を知るべく検索ましたが、ドキュメントを見ても、機械翻訳で要領を得ません…
Qiitaの記事なども目を通したものの、「WITH PARSER ngram」という記述の効果に関する言及が見当たらず…
質問まとめ
そこで質問なのですがこの「WITH PARSER ngram」という記述はどのような効果があるのでしょうか?
消した場合に大きな効果の違いがあればエラーを解消したいので、エラーの原因や解消の方法がお分かりの場合はそちらもご教示頂けますと幸いです。
消してもその違いが許容できるものならば、消してCREATEしようと思っています。
環境・バージョン
使用しておりますデータベースはXserverで契約した「MariaDB 10.5」になります。
ご回答何卒宜しくお願い致します。

回答1件
あなたの回答
tips
プレビュー