ドメイン検索について注意点をまとめた記事を以前に書かせていただきました。
その中で、索引の更新には削除文書の反映が含まれないため定期的に索引を再作成することをおススメしました。
今回はその具体的な方法と最新バージョン 14.5.1 で遭遇した新たな現象についてまとめます。
索引を削除するには?
まず、索引の削除のコマンドは load domidx -d です。このコマンドを実行すると索引のフォルダがまるごと消去されます。
次に索引を作成をしようとしたタイミングで、既存の索引が何もないので、対象の全文書を索引するので、再作成となるということですね。
また、索引の削除に関しては下記の技術文書が公開されています。
2020 年の記事なので現在は改善されているかもしれませんが、再作成前に再起動するほうが良いと考えられます。
サーバ環境や対象の DB 数、文書サイズにもよりますが、索引の再作成には通常長い時間が必要となります。索引作成中は正しい検索結果を得られませんので、業務に影響がないようにするためには、土日などの週末を利用するのがおススメです。
索引の再作成の設定
まず、索引の更新は毎日 7:30、12:00、21:00 の 3 回行う前提とします。
この環境において、土曜日を索引再作成の日として、7:30 の索引作成前に索引を削除します。これで土曜の朝は、索引がない状態で索引を更新しようとするので、すべての索引を再作成することになります。
索引削除の設定はプログラム文書で行います。
プログラム文書を新規で作成し、load domidx -d を実行します。索引作成開始時刻の 30 分前の 7:00、土曜日を指定します。
その後、7:30 の索引作成に間に合うように、サーバを OS ごと再起動させます。
14.5.1 では追加の設定が必要
先日ドメイン検索サーバを 14.5.1 にアップグレードした際、気が付いた問題があります。
14.0 までは load domidx -d の実行だけで索引が削除できていたのですが、14.5.1 では削除されなくなっていたんです(14.5 は未検証なので不明)。調査した結果、14.5.1 では稼働中の domidx タスクを停止しておかないと、load domidx -d が正しく動作してくれないようです。
これに対応するため、14.5.1 では load domidx -d の実行前(例えば 10 分前)にタスクを停止させます。具体的には以下のプログラム文書を追加することになります。
まとめ
今回は、ドメイン検索の索引再作成の方法についてまとめました。
14.5.1 では少し挙動が違うので注意してください。というか、仕様変更の理由がファイルの共有違反の回避のようなので、過去のバージョンでタスクを停止することなく、索引を削除できたことの方が問題かもしれませんね。
ただ、索引の更新に文書の削除が反映されないことがそもそもの問題だと思うで、早く改善してほしいと思います...。



0 件のコメント:
コメントを投稿