Я работаю в системе, которая выполняет сопоставление больших наборов записей на основе строк, числовых диапазонов и диапазонов дат. Насколько я могу судить, совпадения строк - это, в основном, точные совпадения, в отличие от менее точных результатов полнотекстового поиска, для которых, как я понимаю, обычно предназначен lucene. Числовая точность важна, поскольку данные касаются цен.
Я заметил, что в Lucene недавно добавлена поддержка поиска по числовому диапазону, но он изначально не предназначен для этого.
В настоящее время система использует процедурный SQL для сопоставления, и достигаются пределы масштабируемости системы. Я исследую способы горизонтального масштабирования системы, и использование технологии поисковой системы представляется вероятным, учитывая, что существуют технологии, которые могут масштабироваться до очень больших наборов данных при выполнении очень быстрых результатов поиска. Я хотел бы исследовать, возможно ли снять большую нагрузку с базы данных, выполнив сопоставление с метаданными, сгенерированными с помощью lucene, не обращаясь к базе данных для полных записей, пока правила сопоставления не определят, что следует извлечь. Я хотел бы в конечном итоге стремиться к результатам почти в реальном времени, хотя мы далеки от этого на данный момент.
У меня такой вопрос: вероятно ли, что Lucene будет выполнять во много раз быстрее и масштабировать до больших наборов данных дешевле, чем RDBMS для этого типа индексации и поиска?