Я интегрирую функцию поиска в настольное приложение и использую для этого Vanilla Lucene. Приложение обрабатывает (потенциально тысячи) объектов POJO, каждый из которых имеет свой собственный набор свойств ключ / значение. При отображении моделей между моим приложением и Lucene изначально я думал о назначении каждому POJO документа и добавлении свойств в качестве полей. Этот подход прекрасно работает в том, что касается индексации и поиска, но главный недостаток заключается в том, что всякий раз, когда POJO меняет свои свойства, мне приходится повторно индексировать ВСЕ свойства, даже те, которые не изменились, чтобы обновить индекс. Я думал о том, чтобы изменить свой подход и вместо этого создать документ для каждого свойства и назначить один и тот же идентификатор всем документам из одного и того же POJO. Таким образом, когда изменяется свойство POJO, я обновляю только соответствующий ему документ без переиндексации всех остальных неизмененных свойств. Я думаю, что график db Neo4J следует аналогичному подходу, когда дело доходит до индексации, но я не совсем уверен. Может ли кто-нибудь прокомментировать возможное влияние на производительность, запросы и т. Д.