Я планирую попробовать Solr docValues, чтобы, надеюсь, улучшить производительность фасетов и сортировки. У меня есть несколько вопросов по этой функции:
- Если я включу docValues, будет ли Solr создавать прямой индекс (для фасетирования) в дополнение к отдельному обратному индексу (для поиска)? Или Solr просто создаст ТОЛЬКО форвардный индекс? (что приводит к увеличению производительности при фасетировании в обмен на потерю производительности при поиске)
- Если я хочу выполнить фасетирование и поиск в одном поле, что лучше всего? Должен ли я установить indexed = true и docValues = true в одном и том же поле или мне следует создать поле копии, в котором исходное поле имеет indexed = true, а поле назначения имеет docValues = true? (т.е. оптимизировать исходное поле для поиска, а целевое поле для фасетирования; это вообще необходимо?)
- На следующей странице документации из Datastax говорится : "для фасетирования с использованием docValues в схеме необходимо указать multiValued =" true ", даже если поле является полем фасета с одним значением". Я немного запутался - это верно только для полей копирования (dest), которые должны использоваться с docvalues, или это верно даже для полей, не являющихся копиями?
Я использую Datastax Enterprise 4.5.2
indexed=true
создаст инвертированный индекс, аdocValues=true
создаст прямой индекс. УстановкаmultiValued=true
не повредит, если поле однозначное. Так что просто попробуйте и посмотрите. - person arun   schedule 22.10.2014