Как установить поле для сохранения уникальности строки в люцене? - PullRequest
5 голосов
/ 07 марта 2012

Мое приложение генерирует уникальный идентификатор для каждой строки для индексации в lucene и сохранения в базе данных. Один вариант - если есть и строка имеет один и тот же идентификатор, я хочу обновить его, а не вставлять новую строку и индекс.

Как это сделать?

1 Ответ

9 голосов
/ 07 марта 2012

Это как раз и есть цель IndexWrite # updateDocument .Первый аргумент - это термин, который должен быть уникальным в вашем индексе.

Например,

String id = "42";
Document doc = new Document();
Field field = new Field("id", id, Store.YES, Index.NOT_ANALYZED);
doc.add(field);

indexWriter.updateDocument(new Term("id", id), doc);

гарантирует, что doc - единственный документ с идентификатором 42 в вашем индексе.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...