4D-jp 4D Japan Technical Support Team

インデックスの再構築が必要な場合

2023-08-02

テキスト型およびオブジェクト型のインデックスは,データベース言語に対応するICUライブラリのコレーションに基づいて構築されます。

キーワードインデックスは,データベース言語が日本語の場合,MeCabライブラリがインストールされていれば,形態素分解を利用した独自のアルゴリズムに基づいて構築されます。MeCabライブラリは,日本語版の4Dにプリインストールされています。MeCabライブラリがインストールされていない場合,あるいはデータベース言語が日本語以外であれば,ICUライブラリのバウンダリ解析に基づいて構築されます。データベース設定で「非文字・非数字のみをキーワード区切り文字とする」が有効にされていれば,ICUライブラリのIsAlnum属性に基づいて構築されます。

インデックス構築には,①データベース言語,②MeCabライブラリの有無,③データベース設定が関係しています。データベース言語を変更したり,データベース設定で「非文字・非数字のみをキーワード区切り文字とする」を切り替えたりした場合,インデックスの再構築が必要になるかもしれません。再構築の必要性は,通常,アプリケーションによって自動的に判定されます。

MeCabモードで日本語のキーワードインデックスを作成した後,MeCabがインストールされていない環境でデータベースを開いた場合,本来であれば,インデックスの再構築が必要ですが,レアケースということもあり,自動的にはインデックスの再構築が発生しません。必要に応じ,マニュアル操作でキーワードインデックスを更新する必要があります。PAUSE INDEXESRESUME INDEXESせずに再起動した場合,自動的にインデックスが再構築される)を活用できるかもしれません。これは仕様です。


関連記事

リンク