InnoDB のフルテキストインデックス 「使い物になんねぇ」って印象でしたが、ちょっと試してみると簡単なキーワード検索程度なら十分実用的な気がします。 試行錯誤の結果を記します。 ※ この文章は実験しつつ記述しています。整合性や内容の保証はできません ※ この文章はセキュリティ的なことを一切意識していません ※ 「5.6 からフルテキストインデックスが InnoDB でも使えるようになった」だけであり、基本的な仕様・動作は特に変わっていないはずです。設定項目名が変わっている(ft_min_word_len → innodb_ft_min_token_size 等)ようですがここでは触れません 事前作業 CREATE TABLE `article` ( `seq` INT(11) NOT NULL AUTO_INCREMENT COMMENT '連番', `title` VARCHAR(6
まだ日本語全文検索で消耗してるの? この記事は InnoDB のフルテキストインデックスで日本語 NGRAM の続きです。 以降↑の記事を「前回の記事」と呼称します。 例によって実験しつつ記述しています。整合性や内容の保証はできません。 検証に使ったのは CentOS 7, mysql 5.7.9 です。 前回の記事は何をしているのか 端的に言えば下記です。 文字列を ngram 化するファンクションを定義 全文検索したい複数カラムを結合して ngram 化した文字列を格納するカラムを定義 トリガーで↑のカラムに ngram 化した文字列を放り込む ↑↑のカラムに対して FULLTEXT INDEX を張る 検索時に ↑↑↑のカラムに対して MATCH AGAINST 検索を行うことで全文検索 とまぁ色々めんどいことをしています。 特に本筋ではないトリガーとファンクションの定義が嫌。 my
全て 1.このサイトについて 2.作品DB開発/運用 3.ホームページ制作技術 4.Perl 5.C言語 / C++ 6.検索エンジン&SEO 7.サッカー 8.自分のこと 9.Linux 10.旅行 11.思ったこと 12.パソコン 13.Berkeley DB 14.その他技術系 15.企画 16.スマートフォン 17.鑑賞 18.皆声.jpニュース 19.インターネット業界 20.運用マニュアル(自分用) 21.技術系以外実用書 22.料理 23.ALEXA 24.アニメ 25.会計 26.漫画 27.設計書 28.色々サイト作成 29.サーバー 30.自分専用 31.生活 32.OP/ED/PV 33.ゲーム 34.DB整備 35.新規開始作品紹介 36.英語圏の話題 37.大道芸 38.映画 39.PHP 40.ダイエット 41.Mac 42.JavaScript 43.MySQ
MySQL Bugs: #82330: Don't recursively-evaluate stopword after tokenize ngramパーサー を使ってアルファベット混じりの日本語全文検索をしようとすると悲劇が起こる。デフォルトのストップワード一覧は このへん 。 MySQL 5.7.13で全文検索INDEXを使ってるんですけど半角英字でヒットする奴とヒットしないやつが居るんですけどこれって何ででしょう… ちなみに NGRAMを2文字 です。 例えばbabyって単語が含まれてる文章でbabyって単語がヒットしません。 stop wordsには含まれてないんですがなんでだろうと… http://mysql-casual.slackarchive.io/general/-/1466580139/1469433820/1469174336000008/ mysql57> CRE
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く