2016-02-19 2 views
0

я пытаюсь сделать частичные поисковые запросы на Solr, со следующим FieldType:Multiple Tokenizer не работает на Solr

<fieldType name="partial_search" class="solr.TextField" positionIncrementGap="100"> 
<analyzer type="index"> 
    <tokenizer class="solr.KeywordTokenizerFactory"/> 
    <tokenizer class="solr.NGramTokenizerFactory" minGramSize="2" maxGramSize="10"/> 
</analyzer> 
<analyzer type="query"> 
    <tokenizer class="solr.KeywordTokenizerFactory"/> 
</analyzer> 

Но я получаю эту ошибку:

Index: org.apache.solr.common.SolrException:org.apache.solr.common.SolrException: Could not load conf for core Index: Plugin init failure for [schema.xml] fieldType "partial_search": Plugin init failure for [schema.xml] analyzer/tokenizer: The schema defines multiple tokenizers for: [tokenizer: null]. Schema file is /var/solr/data/Index/conf/schema.xml 

PS: Индекс - это имя ядра Solr.

+0

KeywordTokenizer фактически не символизирует - он просто извлекает все как один большой токен. – MatsLindh

ответ

0

Вы не можете иметь несколько токенизаторов в одном и том же анализаторе. Одним из решений является применение анализатора к вашему полю partial_search. Создайте поле для копирования из partial_search и примените второй анализатор к этому полю копии. Другое решение - создать пользовательский токенизатор, который обертывает поведение из двух токенизаторов, которые вы хотите объединить.

+0

Спасибо за ответ, я собираюсь попробовать! –

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