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 создает как минимум один новый сегмент в индексе
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 создает как минимум один новый сегмент в индексе
index.Add(documentsFolder3);

MergeOptions options = new MergeOptions();
options.IsAsync = true; // Асинхронная операция
options.Cancellation = new Cancellation(); // Создание объекта отмены

// Объединение сегментов индекса
index.Optimize(options); // Этот метод вернется до завершения операции

options.Cancellation.CancelAfter(10000); // Установка максимальной продолжительности операции на 10 секунд

Смотрите также