Недавно я перешел с Postgres на Solr и заметил, что наши запросы увеличились примерно в 50 раз. Запросы, которые мы запускаем, охватывают несколько диапазонов, а наши данные — это списки транспортных средств. Например: «Найти все автомобили с пробегом < 50 000, 5 000 долларов < цена < 10 000 долларов, марка = Mazda…»
Я создал индексы для всех соответствующих столбцов в Postgres, так что это должно быть довольно честное сравнение. Глядя на план запроса в Postgres, хотя он по-прежнему использовал один индекс, а затем сканировал (я предполагаю, что он не мог использовать все разные индексы)
. Насколько я понимаю, Postgres и Solr используют смутно похожие структуры данных (B- деревья), и они оба кэшируют данные в памяти. Поэтому мне интересно, откуда такая большая разница в производительности.
Какие различия в архитектуре могут объяснить это?