Kouhei Sutou
kou****@clear*****
2015年 12月 17日 (木) 00:04:18 JST
須藤です。 In <CADLF****@mail*****> "[groonga-dev,03764] Re: Mroongaで形態素解析とN-gramを同一のカラムに対して利用する方法について" on Mon, 14 Dec 2015 13:18:25 +0900, keizi murakami <murak****@gmail*****> wrote: >> テストして欲しいことは、後述するSQLで動くこともそうなのです >> が、これまでのMroongaで作ったDBでも同じように動くこと、言い >> かえると互換性が壊れていないことをテストして欲しいのです。 >> 互換性が壊れていないように作っているつもりですが、それを確認 >> して欲しいです。 > こちらを確認させていただきました。 ありがとうございます! > Mroongaのバージョンを上げた後に > 旧バージョンで作成したテーブルに対して > 思いつく範囲で操作を行いましたが、 > 問題なく動作しておりました。 よかったです。ちゃんと実装できていたようです。 > 一点だけ気になったことがありましたので、 > 質問させていただきます。 > > 旧バージョンで作成したテーブルに対して、 > シャープ区切りのSQLを実行する方法についてです。 > > Mroongaのアップデートを行っただけでは、 > 旧バージョンのテーブルに対する、シャープ区切りのSELECT文の結果が空にな > りました。 > > 旧バージョンで作成したテーブルでも結果を取得するためには、 > どのような手順を踏むべきでしょうか。 ALTER TABLE table DISABLE KEYS; ALTER TABLE table ENABLE KEYS; です! ただし、インデックスを再作成するのでデータが多いときはそこそ こ重い処理になります。 これで > # ALTER TABLEのリネームやカラム追加で、 > # Groongaの該当のテーブルがハイフン区切りから > # シャープ区切りに変更されておりました。 相当の処理のことが起きるので > # この変更された状態で、シャープ区切りのSELECT文を行うと > # 新バージョンで作成したテーブルと同様の正しい結果が得られていることは > 確認しております。 となります。 Mroongaをアップグレードして最初のタイミングでインデックス名 をすべてシャープ区切りにリネームする方がいいんですかねぇ。 (リネームは軽い処理なのですぐに終わります。) -- 須藤 功平 <kou****@clear*****> 株式会社クリアコード <http://www.clear-code.com/> Groongaベースの全文検索システムを総合サポート: http://groonga.org/ja/support/ パッチ採用 - プログラミングが楽しい人向けの採用プロセス: http://www.clear-code.com/recruitment/ リーダブルコードワークショップ: http://www.clear-code.com/services/code-reader/readable-code-workshop.html