Quello che voglio essere in grado di fare è eseguire una query e ottenere risultati che non sono case sensitive e che corrispondono parole parziali dall'indice.Utilizzo di più tokenizer in Solr
Ho uno schema Solr impostato al momento che è stato modificato in modo da poter interrogare e restituire risultati, indipendentemente dal caso in cui si trovino. Quindi, se cerco iPOd, vedrò iPod restituito. Il codice per fare questo è:
<fieldType name="text" class="solr.TextField" positionIncrementGap="100">
<analyzer type="index">
<tokenizer class="solr.WhitespaceTokenizerFactory"/>
<filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" enablePositionIncrements="true" />
<filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="1" catenateNumbers="1" catenateAll="0" splitOnCaseChange="1"/>
<filter class="solr.LowerCaseFilterFactory"/>
<filter class="solr.SnowballPorterFilterFactory" language="English" protected="protwords.txt"/>
</analyzer>
...
</fieldType>
ho trovato questo codice che ci permetterà di fare una query parziali parole partita, ma non credo che posso avere due tokenizers su un campo.
<fieldType name="text" class="solr.TextField" >
<analyzer type="index">
<tokenizer class="solr.NGramTokenizerFactory" minGramSize="3" maxGramSize="15" />
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
...
</fieldType>
Quindi, cosa posso fare per eseguire questo tokenizer sul campo?
O c'è un modo per unirli?
Oppure c'è un altro modo in cui posso portare a termine questo compito?
Ma in che modo interrogare ora in modo che i risultati verranno visualizzati in dati che sono stati tokenizzati con entrambi i tokenizer? In altre parole: come ottenere risultati da entrambi i tokenizer contemporaneamente? –