Snažím sa vykonať čiastočné vyhľadávanie na serveri solr s nasledujúcim poľom typeType:
<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>
Ale dostanem túto chybu:
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
P.S: Index je názov jadra Solr.
odpovede:
0 pre odpoveď č. 1Nemôžete mať viac tokenizérov narazanalyzátor. Jedným z riešení je použitie analyzátora vo vašom poli čiastkové vyhľadávanie. Vytvorte kopírovacie pole z čiastočného vyhľadávania a do tohto kopírovacieho poľa použite druhý analyzátor. Ďalším riešením je vytvoriť vlastný tokenizér, ktorý zabalí chovanie z dvoch tokenizérov, ktoré chcete skombinovať.