Условие проверить, существует ли документ в Index (Lucene.NET) - PullRequest
4 голосов
/ 19 апреля 2011

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

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

1 Ответ

5 голосов
/ 19 апреля 2011

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

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