У меня есть два поля (name ,ifiedDate) в моем индексе. я хочу сохранить новый документ на основеifiedDate и сохранить индекс отсортированным по ModifiedDate
Документ № 1 является самым старым документом и (ifiedDate) тоже самый старый
doc #n является самым последним документом и (ifiedDate) уже близко
1) как я могу создать эту структуру индекса, которая документирует физически сохраненную базу на (updatedDate) и сохранить структуру даже после того, как в индексе произошли какие-либо изменения (оптимизировать, удалить, обновить)
2) следующая структура позволяет мне искать документы в определенном диапазоне дат.
но я не хочу искать весь индекс, а затем фильтровать. я хочу использовать следующую структуру, чтобы пропустить все другие документы, если она выходит за пределы диапазона дат
Текущее поведение люцена
для (от 1 до docCount)
if (updatedDate находится в фильтре диапазона дат)
рассчитать счет на основе запроса
Допустимое поведение
для (от 1 до docCount)
if (updatedDate больше верхней границы диапазона дат)
перерыв
еще
рассчитать счет на основе запроса
если у меня есть 3 000 000 документов, и мой диапазон дат соответствует только 20 основным документам, в текущем поведении lucene мне нужно проверить все документы, но при принятом поведении я набираю только 20 лучших документов, и вы можете догадаться о высокой производительности выгода