Como o Lucene / Solr alcança alto desempenho na pesquisa multifacetada / facetada?

Context

Esta é uma pergunta principalmente sobre os componentes internos do Lucene (ou possivelmente Solr). O tópico principal éfaceted search, na qual a pesquisa pode ocorrer ao longo de várias dimensões independentes (facetas) de objetos (por exemplo, tamanho, velocidade, preço de um carro

Quando implementado com banco de dados relacional, para um grande número de facetas, os índices de vários campos não são úteis, pois as facetas podem ser pesquisadas em qualquer ordem; portanto, um multi-índice ordenado específico é usado com baixa chance e criando todas as ordens possíveis de índices. é insuportável.

@Solr é anunciado para lidar bem com a tarefa de pesquisa facetada, que se eu penso corretamente deve estar conectada ao Lucene (supostamente) com bom desempenho em consultas de vários campos (onde os campos de um documento estão relacionados às facetas de um objeto

Questã

Oinverted index do Lucene pode ser armazenado em um banco de dados relacional e, naturalmente, fazer as interseções dos documentos correspondentes também pode ser alcançado trivialmente com o RDBMS usando índices de campo únic

ortanto, Lucene supostamente possui alguma técnica avançada para consultas de vários campos, além de apenas fazer a interseção de documentos correspondentes com base no índice invertid

Então a pergunta é, o que é essa técnica / truque? De maneira mais ampla: Por que o Lucene / Solr pode alcançar melhor desempenho de pesquisa facetada teoricamente do que o RDBMS (se houver)?

Nota: Meu primeiro palpite seria que o Lucene usaria algum método de particionamento de espaço para particionar um espaço vetorial construído a partir dos campos do documento como dimensões, mas pelo que entendi, o Lucene não é puramente baseado em espaço vetoria

questionAnswers(2)

yourAnswerToTheQuestion