2016-08-26 17 views
0

Я добавил текстовое поле в Solr для поддержки регистронезависимого поиска, как показано ниже:Включения строчную поиска и docValues ​​на одном поле в Solr

<fieldType name="lower_text" class="solr.TextField" sortMissingLast="true" > 
    <analyzer> 
     <tokenizer class="solr.KeywordTokenizerFactory"/> 
     <filter class="solr.LowerCaseFilterFactory"/> 
    </analyzer> 
</fieldType> 

и определил поле:

<field name="accountname" type="lower_text" indexed="true" stored="true" required="false"/> 

У меня была производительность фасета, и индексирование стало большим по размеру. Чтобы улучшить производительность фасета и сортировки, я хочу реализовать docValues ​​и потоковые агрегации. ,

Solr на самом деле не позволяет мне добавить параметр docValues ​​в текстовое поле, и моя единственная опция - иметь вторичное поле, одно для строчного текста и одну строку для значений doc.

Можем ли мы применить docValues ​​к текстовым полям? Можем ли мы искать String с чувствительной к регистру функцией? Если я поддерживаю как docValues, так и in-sensitive, добавив 2 поля, как было предложено, что происходит с моим размером индекса?

FYI: Я уже добавил функции экспорта в свой файл solrconfig.xml и мой сервер solr. Версия solr 4.10.3 CDH 5.5.4

ответ

0

В настоящее время Solr не поддерживает DocValues ​​для проанализированных полей. Существует JIRA по этому вопросу, но это не так просто: https://issues.apache.org/jira/browse/SOLR-8362

Имея два параллельных поля (с использованием механизма copyField), один для поиска, один для огранки, - это путь к успеху. Размер вашего индекса будет немного расти, так как повторного использования между индексированными и DocValued терминами не существует.

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

  • Нет связанных вопросов^_^