Hibernate Search 関連(2)
うまくいったかどうかのテスト。
- こんなカルテを作って一旦保存。
- "寿限無","グーリンダイ" で検索すると確かに出てくる。なお,検索語をいちいちクオーテートしているのは,そうしないとうまく検索できなかった(グーリンダイで検索すると,「グーリン」も「ダイ」も引っかかってくる)からなのだが,これについては増田先生にわけを教えて頂いて修正した。
- カルテを編集して,"寿限無" ,"グーリンダイ" を削除,処方を加える。
- 編集後なくなった "寿限無","グーリンダイ" では検索されなくなっている。
- 本文と処方の AND 検索もできる。これは,ModuleModel で index していた時にはできなかった検索である。
さて,動作は問題ないようなので,開発用マシンで全インデックスを作成してみたところ,117,673 件の DocumentModel にインデックスするのに4時間近くかかってしまった。(インデックスが 4分以下で終了していた時代が懐かしい)
INFO boot.logger - IndexTask started at Mon Feb 11 04:58:28 JST 2013 INFO boot.logger - IndexTask ended at Mon Feb 11 08:44:58 JST 2013
そこで,MassIndexer というのを試してみた。どうせ index は1回つくればいいことなので,client への進捗フィードバックとか全部すっとばしてコーディングしてみたところ,1時間22分で終了した。ただし注意点として,デフォルトの standalone.xml の設定だとトランザクションが 300秒 (5分) で timeout して止まってしまうので,インデックス作成の時だけ,かかる時間以上に設定しておく必要がある。下の例では 14,400秒 (4時間) に設定した。
standalone.xml の該当部分
<subsystem xmlns="urn:jboss:domain:transactions:1.2"> <core-environment> <process-id> <uuid/> </process-id> </core-environment> <recovery-environment socket-binding="txn-recovery-environment" status-socket-binding="txn-status-manager"/> <coordinator-environment default-timeout="14400" /> </subsystem>
« Hibernate Search 関連(1) | トップページ | 5年以上前のカルテ表示 »
「OpenDolphin」カテゴリの記事
- Java 17 への移行(7) - OpenDolphin client の対応 (2023.02.04)
- Java 17 への移行(6) - Hibernate 6 でやらかす(2023.02.03)
- Java 17 への移行(5) - OpenDolphin server の対応(2023.02.02)
- Java 17 への移行(4) - OpenSearch の準備 [ubuntu 編](2023.02.01)
- Java 17 への移行(3) - OpenSearch の準備 [mac 編](2023.01.31)