Luxorインデックス作成・削除

全文検索エンジンLuxor向けに、インデックス作成、削除のコマンドを用意しています。

コマンドを実行するには設定ファイル(/etc/hibiki/full_text_search.xml)の変更が必要です。

設定項目の詳細は【Luxorに関する設定(full_text_search.xml)】を参照してください。

reindex

コマンドの文法

すべてのインデックスを作成する

reindex all [from yyyy-MM-ddThh:mm:ssZ [to yyyy-MM-ddThh:mm:ssZ]] [-countOnly] 

すべてのバインダのインデックスを作成する

reindex binder all [from yyyy-MM-ddThh:mm:ssZ [to yyyy-MM-ddThh:mm:ssZ]] [-countOnly]

指定したバインダIDのインデックスを作成する

reindex binder <バインダID> [-countOnly]

すべての文書のインデックスを作成する

reindex document all [from yyyy-MM-ddThh:mm:ssZ [to yyyy-MM-ddThh:mm:ssZ]] [-countOnly]

指定したバインダの文書のインデックスを作成する

reindex document binder: <バインダID> [from yyyy-MM-ddThh:mm:ssZ [to yyyy-MM-ddThh:mm:ssZ]] [-countOnly]

指定したバインダの指定した文書のインデックスを作成する

reindex document binder: <バインダID(単体)> document: <文書番号> [-countOnly]

すべてのIMPアプリのインデックスを作成する

reindex imp all [from yyyy-MM-ddThh:mm:ssZ [to yyyy-MM-ddThh:mm:ssZ]] [-countOnly]

指定したIMPアプリのインデックスを作成する

reindex imp <アプリID> [-countOnly]

すべてのプロセスのインデックスを作成する

reindex process all [from yyyy-MM-ddThh:mm:ssZ [to yyyy-MM-ddThh:mm:ssZ]] [-countOnly]

指定したプロセスのインデックスを作成する

reindex process <プロセスID> [-countOnly]

※バインダID、文書番号、アプリID、プロセスIDは以下のフォーマットで複数指定できます。

  • ID1,ID2,ID3,…,IDn
  • 例:10001,10002,10003,10004,10005
  • ID1-IDn
  • 例:10001-10005
  • ID1,ID2-IDn
  • 例:10001-10005,10008

※ID指定をする場合、ID指定文字列は最大200バイトです。200バイトを超えるID指定文字列を入力すると、エラーになります。

※-countOnlyを指定した場合、インデックスを作成するための準備時間と予定作成件数を表示します。

※日付範囲の指定オプションであるfrom、toにはタイムゾーン付の日時形式を指定します。fromを指定している場合もtoは省略可能です。

※日付範囲を指定する場合、バインダでは最終更新日時、プロセスではアクティビティの開始日時・終了日時が使用されます。

処理内容

指定されたオプションを対象に、インデックスを削除し、その後、作成します。

実行例

> reindex all
INFO  impl.XmlConfiguration (XmlConfiguration.java:337) : Loading property
string from '/etc/hibiki/full_text_search.xml':
key='luxor.reindex-settings.server.contextUrl',
value='http://192.168.1.1:10080/solr/'
INFO  impl.XmlConfiguration (XmlConfiguration.java:337) : Loading property
string from '/etc/hibiki/full_text_search.xml':
key='luxor.reindex-settings.server.auth.username', value='luxor'
INFO  impl.XmlConfiguration (XmlConfiguration.java:337) : Loading property
string from '/etc/hibiki/full_text_search.xml':
key='luxor.reindex-settings.server.auth.password', value='dreamarts'
INFO  impl.XmlConfiguration (XmlConfiguration.java:337) : Loading property
string from '/etc/hibiki/full_text_search.xml':
key='luxor.reindex-settings.reindexcountonetime', value='100'
INFO  impl.XmlConfiguration (XmlConfiguration.java:337) : Loading property
string from '/etc/hibiki/full_text_search.xml':
key='luxor.reindex-settings.continueWhenExecption', value='false'
INFO  rdb.TableUtils (TableUtils.java:367) : created table
TBL_BRD_REINDEX_MANAGER
INFO  rdb.TableUtils (TableUtils.java:367) : created table
TBL_BRD_REINDEX_QUEUE
INFO  rdb.TableUtils (TableUtils.java:409) : created index
IDX_HBK_INDEXER_QUEUE_TMP_1 on table
TBL_BRD_REINDEX_QUEUE(INDEX_KEY,INDEX_TYPE)
INFO  rdb.TableUtils (TableUtils.java:409) : created index
IDX_HBK_INDEXER_QUEUE_TMP_2 on table
TBL_BRD_REINDEX_QUEUE(INDEX_TYPE,INDEX_KEY)
実行ステップ 1/983 binder -10057-10106の全文検索インデックス作成を開始します。
全文検索インデックスの再作成準備完了 対象:45件
指定した範囲の全文検索インデックスを削除しました。
全文検索インデックスの再作成完了 対象:45件
...
コマンドreindex allの実行が正常に完了しました。 対象インデックス 合計:82,277件,実行時間
:14 hours 50 minutes 11 seconds

delindex

コマンドの文法

すべてのインデックスを削除する

delindex all

すべてのバインダのインデックスを削除する

delindex binder all

すべての文書のインデックスを削除する

delindex document all

すべてのIMPアプリのインデックスを削除する

delindex imp all

すべてのプロセスのインデックスを削除する

delindex process all

処理内容

指定されたオプションを対象に、インデックスを削除します。

実行例

> delindex all
全文検索インデックスの削除を開始します。
全文検索インデックスの削除が完了しました。
コマンドdelindex allの実行が正常に完了しました。

reindex continue

コマンドの文法

reindex continue

処理内容

何らかの原因によりインデックス作成が停止した場合に、中断した処理から再開します。

実行例

> reindex continue
実行ステップ 1/1 binder -10057-10281の全文検索インデックス作成を開始します。
全文検索インデックスの再作成完了 対象:180件
コマンドreindex continueの実行が正常に完了しました。 対象インデックス 合計:180件,実行
時間:44 seconds

deldiffindex

コマンドの文法

指定したバインダに関連するゴミインデックスを削除する

deldiffindex binder <バインダID(from)>-<バインダID(to)> [-countOnly]

指定したバインダの文書に関連するゴミインデックスを削除する

deldiffindex document binder:<バインダID> document:<文書番号(from)>-<文書番号(to)> [-countOnly]

指定したプロセスに関連するゴミインデックスを削除する

deldiffindex process <プロセスID(from)>-<プロセスID(to)> [-countOnly]

指定したIMPアプリに関連するゴミインデックスを削除する

deldiffindex imp <アプリID(from)>-<アプリID(to)> [-countOnly]

処理内容

指定されたオプションを対象に、ゴミインデックスを削除します。

このコマンドを実行する際、並行してインデックス作成が行われないようにインデックス作成処理をロックします。そのためdefault.xmlのdefault-values.system.fullTextSearch.fail-over設定でロックファイルを指定する必要があります。設定されていない場合はエラーとなります。詳細は、 【Luxorに関する設定】を参照してください。

実行例

> deldiffindex binder 10001-10002

全文検索のゴミインデックスを削除しますか?はい(y)/いいえ(n)

全文検索のゴミインデックス削除を開始します...

[1/1]. deldiffindex binder 10001-10002

全文検索のゴミインデックス件数:0件

削除した全文検索のゴミインデックス総件数:0件

補足事項

約10万文書を保持するバインダ(部品数:500)において、削除済み文書が1万、ゴミインデックスが100件の条件下において、コマンドを実行した場合、

  • 件数出力 : 30秒程度
  • ゴミインデックス削除 : 50秒程度

となります。