[groonga-dev,03775] Re: Mroongaで形態素解析とN-gramを同一のカラムに対して利用する方法について

Back to archive index

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




groonga-dev メーリングリストの案内
Back to archive index