Solr - граненая навигация по большому индексу - PullRequest
1 голос
/ 21 декабря 2010

У меня есть индекс, содержащий 1,2 миллиарда документов (Solr 1.4.1). Я хочу включить фасетную навигацию в поле (тип int), содержащее около 250 уникальных значений.

Я получаю Java heap space java.lang.OutOfMemoryError с методом по умолчанию (facet.method = fc), в то время как метод enum очень медленный (но работает).

Каков наилучший подход для заданного количества документов и уникальных значений?

Обновлен:

Так что, если я правильно понимаю:

  • Использование памяти для огранки с использованием метода fc: MaxDoc * 4 байта (тип поля int, 64-битная JVM), т.е. 1118950216 * 4 байта = 4,1 ГБ (приблизительно)

  • Использование памяти для огранки с использованием метода enum: NumberOfUniqueValues ​​* SizeOfBitset = 250 * (1118950216/8) = 32 ГБ

Это правильно?

Я снова попробую метод FC (и дам больше оперативной памяти к solr).

Спасибо!

1 Ответ

1 голос
/ 21 декабря 2010

Вам нужно будет настроить параметры выделения памяти JVM и / или добавить больше памяти на сервер;или, альтернативно, посмотрите на индексирование индекса .

...