#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;
}