Kouhei Sutou
kou****@clear*****
2015年 12月 23日 (水) 17:04:31 JST
須藤です。 In <CADLFF-WJv_bQ5x1uWPmbByo9ba=b-NMa****@mail*****> "[groonga-dev,03790] Re: Mroongaで形態素解析とN-gramを同一のカラムに対して利用する方法について" on Mon, 21 Dec 2015 12:04:52 +0900, keizi murakami <murak****@gmail*****> wrote: > ご連絡遅くなり申し訳ございません。 いえいえ、確認ありがとうございます! >> > 旧バージョンで作成したテーブルでも結果を取得するためには、 >> > どのような手順を踏むべきでしょうか。 > >> ALTER TABLE table DISABLE KEYS; >> ALTER TABLE table ENABLE KEYS; > > こちらのコマンド行なうことで結果が取得できるようになりました。 > ありがとうございます。 よかったです! >> Mroongaをアップグレードして最初のタイミングでインデックス名 >> をすべてシャープ区切りにリネームする方がいいんですかねぇ。 > 個人的には、アップデートのタイミングでリネームされるほうがありがたいで > す。 > インデックス再作成は実行するのが躊躇われる処理なので、 > 回避策があるのなら回避したいとは思っております。 確認したところ、MySQLの仕組みに乗るならテーブル全体を作るこ としかできませんでした。。。 mroonga_command()を使う人は上級ユーザーなので、リネームがよ い人は個別に SELECT mroonga_command('table_rename TABLE_NAME-INDEX_NAME TABLE_NAME#INDEX_NAME'); してください、ということにさせてください。 参考: http://groonga.org/ja/docs/reference/commands/table_rename.html 注意点ですが、table_renameを実行している間は該当テーブルに触 らないようにしてください。たとえば、次のようにしてください。 LOCK TABLES TABLE_NAME WRITE; SELECT mroonga_command('table_rename TABLE_NAME-INDEX_NAME TABLE_NAME#INDEX_NAME'); UNLOCK TABLES; もし、1つの接続しかそのテーブルを使っていないなら直接 mroonga_command()を使っても大丈夫です。 -- 須藤 功平 <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