2016-01-20 7 views
0

Я понимаю теоретические концепции инвертированного индекса и индексов. В первую очередь, Solr индексирует документы с использованием инвертированного индекса (поиск токенов вместо документов).
Я также прочитал, что Solr использует индексирование для таких функций, как грани.
Как я понимаю, для фасетов для поиска термина и создания граней требуется Solr для поиска всех условий в поле и сопоставления всех полученных документов, содержащих поисковый запрос, что будет дорогостоящим, поэтому используется индексация.

Из того, что я понимаю, индекс используется, когда извлекаются все документы, относящиеся к поисковым запросам, они пересекаются и вычисляются количество уникальных значений полей.

Является ли это правильным пониманием этой концепции или есть что-то еще?Как индекс и инвертированный индекс работают в грани в solr?

ответ

1

Это не только один способ, как огранка в solr работает. У Solr есть эвристический объект, чтобы выбрать лучшее, но есть facet.method parameter, чтобы выбрать его самостоятельно.

Главным образом, ваше описание правильное, но solr быстро из-за кэширования UnInvertedField вместо того, чтобы выбирать значения для каждого запроса из инвертированного индекса.

С DocValues есть также эффективное хранилище неинвертированного поля.

Возможно также эти ответы помогут вам:

Смежные вопросы