Через непоследовательные интервалы необходимо обновлять определенные документы в индексе Lucene. Обновления могут быть ежечасными или каждые несколько минут. В настоящее время у меня есть процесс, который запускается и ищет изменения, и если изменения произошли, он (в стиле Lucene 3.5) удаляет документ, а затем повторно добавляет его в RAMDirectory.
- Есть ли лучший способ управлять индексом Lucene документов, которые постоянно преобразуются? RAMDirectory - лучший выбор?
Код, который я использую для «обновления» индекса:
Term idTerm = new Term("uid",row.getKey());
getWriter().deleteDocuments(idTerm);
getWriter().commit();
// do some fun stuff creating a new doc with the changes
getWriter().addDocument(doc);