Optimize

Optimize()

インデックス セグメントをマージすることにより、インデックス セグメントの数を最小限に抑えます。 この操作により、検索のパフォーマンスが向上します。

public void Optimize()

この例は、インデックスのセグメントをマージする方法を示しています.

string indexFolder = @"c:\MyIndex\";
string documentsFolder1 = @"c:\MyDocuments1\";
string documentsFolder2 = @"c:\MyDocuments2\";
string documentsFolder3 = @"c:\MyDocuments3\";

Index index = new Index(indexFolder); // 指定したフォルダにインデックスを作成

index.Add(documentsFolder1); // 指定されたフォルダからのドキュメントのインデックス作成
index.Add(documentsFolder2); // Add を呼び出すたびに、インデックスに少なくとも 1 つの新しいセグメントが作成されます
index.Add(documentsFolder3);

// インデックスのセグメントのマージ
index.Optimize();

関連項目


Optimize(MergeOptions)

インデックス セグメントをマージすることにより、インデックス セグメントの数を最小限に抑えます。 この操作により、検索のパフォーマンスが向上します。

public void Optimize(MergeOptions options)
パラメータ タイプ 説明
options MergeOptions マージ オプション。

この例は、特定のマージ オプションを使用してインデックスのセグメントをマージする方法を示しています。

string indexFolder = @"c:\MyIndex\";
string documentsFolder1 = @"c:\MyDocuments1\";
string documentsFolder2 = @"c:\MyDocuments2\";
string documentsFolder3 = @"c:\MyDocuments3\";

Index index = new Index(indexFolder); // 指定したフォルダにインデックスを作成

index.Add(documentsFolder1); // 指定されたフォルダからのドキュメントのインデックス作成
index.Add(documentsFolder2); // Add を呼び出すたびに、インデックスに少なくとも 1 つの新しいセグメントが作成されます
index.Add(documentsFolder3);

MergeOptions options = new MergeOptions();
options.IsAsync = true; // 非同期操作
options.Cancellation = new Cancellation(); //キャンセルオブジェクト作成

// インデックスのセグメントのマージ
index.Optimize(options); // このメソッドは、操作が完了する前に戻ります

options.Cancellation.CancelAfter(10000); // 操作の最大期間を 10 秒に設定

関連項目