Classificar por data nos problemas de desempenho do Solr / Lucene

Configuramos um índice Solr contendo 36 milhões de documentos (~ 1K-2K cada) e tentamos consultar no máximo 100 documentos que correspondam a uma única palavra-chave simples. Isso funciona muito rápido como esperávamos. No entanto, se adicionarmos agora "& sort = createDate + desc" à consulta (solicitando assim os 100 principais documentos "novos" correspondentes à consulta), ele será executado por um longo, muito longo tempo e finalmente resultará em uma OutOfMemoryException. Pelo que entendi do manual, isso é causado pelo fato de que Lucene precisa carregar todos os valores distintos para este campo (createDate) na memória (FieldCache afaik) antes que possa executar a consulta. Como o campo createDate contém data e hora, o número de valores distintos é muito grande. Também é importante mencionar que frequentemente atualizamos o índice.

Talvez alguém possa fornecer algumas informações e orientações sobre como podemos ajustar o Lucene / Solr ou mudar nossa abordagem de forma que os tempos de consulta se tornem aceitáveis? Sua entrada será muito apreciada! Obrigado.

questionAnswers(3)

yourAnswerToTheQuestion