2017-09-28 5 views
1

インデックスにreindex=falseプロパティを追加しても、作成時にインデックスが再作成されます。Oakプロパティインデックスを設定してインデックスの再作成を避けることはできますか?

+0

クエリに回答するためには、既存のデータを再インデックスする必要があります。あなたのユースケースは何ですか? – catholicon

+0

@catholicon私が探しているデータはまだ作成されていないことを知っています。したがって、既存のデータを索引付けする必要はなく、再索引付けは大きなリポジトリでは非常にコストがかかる可能性があります – andy

答えて

1

短い答えはノー

再インデックスフラグは、主にインデックスの更新のために使用されていないです。新しい索引が作成されると、それはそれぞれのプロセッサーによって索引付けされます。同期(主に非ルーメン)の場合、インデックス作成はほぼ即座に開始されます。

asyncインデックス(luceneなど)の場合、次回のAsyncIndexUpdateジョブでリポジトリまたはインデックスの変更が取得されます。

インデックスをゼロから再作成するため、既存のインデックスを変更するときに使用することをお勧めします。そのインデックスの以前のチェックポイント(の前には、ポイント)が存在しないため、新しいインデックスは常に作成され、基準に一致するリポジトリ内のすべてが新たにインデックスされる。

さらに詳しい情報はdocsreindex sectionの下に公式で見つけることができます。

新しいインデックスは、インデックス定義が保存されると自動的に作成されます。

0

回避策を使用することができます。インデックスの設定は、保持する以外の方法で行います。type=disabled。数秒間保持します(基本的に、少なくとも1つの非同期インデックス処理サイクルが終了します)。次にtype=<your-index-type>と設定します。 Btw、post oak 1.6の場合は、refresh=trueを設定して、この変更(変更はtypeの変更)を内部的に保存するようオークを説得する必要があります。

関連する問題