Условие для проверки, существует ли документ в Index (Lucene.NET )

#c#-4.0 #indexing #lucene.net

#c #-4.0 #индексирование #lucene.net

Вопрос:

Я использую Lucene.NET и я хотел бы перед этим проверить, содержится ли документ в индексе, так что, если это так, мне не нужно сохранять его в индексе, но я могу пропустить это. Я прочитал несколько вопросов, в которых была такая же проблема, но все они касались удаления и обновления его с помощью нового документа. Я не хочу этого делать, поскольку документ будет содержать точно такие же данные, и было бы бесполезно сохранять его снова. У меня есть поле, которое действует как идентификатор, называемый URL, где каждый документ содержит свой определенный URL. поэтому у меня есть способ идентифицировать конкретный документ, я просто не знаю, какое условие мне следует использовать.

Любая помощь?

Ответ №1:

Я бы использовал что-то вроде этого:

 IndexReader reader;
Term indexTerm = new Term(FieldNames.UniqueId, itemId.ToString());
TermDocs docs = reader.TermDocs(indexTerm);
if (docs.Next())
{
    continue;
}