Merge

Merge(Index, MergeOptions)

将指定的索引合并到当前索引中。 注意不会改变其他索引。

public void Merge(Index index, MergeOptions options)
范围 类型 描述
index Index 要合并到的索引。
options MergeOptions 合并选项。

评论

如果其他索引有以前的版本,则必须在合并之前更新IndexUpdater.

例子

该示例演示如何将索引合并到当前索引中。

string indexFolder1 = @"c:\MyIndex1\";
string indexFolder2 = @"c:\MyIndex2\";
string documentsFolder1 = @"c:\MyDocuments1\";
string documentsFolder2 = @"c:\MyDocuments2\";

Index index1 = new Index(indexFolder1); // 创建索引 1
index1.Add(documentsFolder1); // 索引文件

Index index2 = new Index(indexFolder2); // 创建索引 2
index2.Add(documentsFolder2); // 索引文件

MergeOptions options = new MergeOptions();
options.Cancellation = new Cancellation(); // 创建取消对象

// 合并 index2 到 index1。请注意,index2 文件不会更改。
index1.Merge(index2, options);

也可以看看


Merge(IndexRepository, MergeOptions)

将指定索引存储库中的索引合并到当前索引中。 注意存储库中的索引不会被更改。

public void Merge(IndexRepository repository, MergeOptions options)
范围 类型 描述
repository IndexRepository 要合并到的索引存储库。
options MergeOptions 合并选项。

评论

如果其他索引有以前的版本,则必须在合并之前更新它们IndexUpdater.

例子

该示例演示如何将索引存储库合并到当前索引中。

string indexFolder1 = @"c:\MyIndex1\";
string indexFolder2 = @"c:\MyIndex2\";
string indexFolder3 = @"c:\MyIndex3\";
string documentsFolder1 = @"c:\MyDocuments1\";
string documentsFolder2 = @"c:\MyDocuments2\";
string documentsFolder3 = @"c:\MyDocuments3\";

Index index1 = new Index(indexFolder1); // 创建索引 1
index1.Add(documentsFolder1); // 索引文件

IndexRepository repository = new IndexRepository(); // 创建索引库

Index index2 = repository.Create(indexFolder2); // 创建索引 2
index2.Add(documentsFolder2); // 索引文件

Index index3 = repository.Create(indexFolder3); // 创建索引 3
index3.Add(documentsFolder3); // 索引文件

MergeOptions options = new MergeOptions();
options.Cancellation = new Cancellation(); // 创建取消对象

// 将索引库中的所有索引合并到 index1 中。请注意,index2 和 index3 不会更改。
index1.Merge(repository, options);

也可以看看