Sto usando SOLR 3.2. La mia applicazione emette query di ricerca sull'istanza SOLR, per un tipo di campo di testo. Come posso fare in modo che SOLR restituisca risultati come "book", "bookshelf", "bookasd" così via, quando l'utente invia una query come "book". Dovrei aggiungere manualmente i caratteri "*" alla stringa di query o c'è un'impostazione in SOLR quindi farà le ricerche prefisso sul campo per impostazione predefinita?Come configurare SOLR in modo che gli utenti possano effettuare la ricerca prefisso per impostazione predefinita?
Questa è la sezione schema.xml per il tipo di campo di testo:
<fieldType name="text" class="solr.TextField" positionIncrementGap="100">
<analyzer type="index">
<charFilter class="solr.HTMLStripCharFilterFactory"/>
<tokenizer class="solr.WhitespaceTokenizerFactory"/>
<filter class="solr.StopFilterFactory"
ignoreCase="true"
words="stopwords.txt"
enablePositionIncrements="true"
/>
<filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="0" catenateNumbers="0" catenateAll="1" splitOnCaseChange="0"/>
<filter class="solr.LowerCaseFilterFactory"/>
<filter class="solr.SnowballPorterFilterFactory" language="English" protected="protwords.txt"/>
</analyzer>
<analyzer type="query">
<charFilter class="solr.HTMLStripCharFilterFactory"/>
<tokenizer class="solr.WhitespaceTokenizerFactory"/>
<filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true"/>
<filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="0" catenateNumbers="0" catenat0All="1" splitOnCaseChange="0"/>
<filter class="solr.LowerCaseFilterFactory"/>
<filter class="solr.SnowballPorterFilterFactory" language="English" protected="protwords.txt"/>
</analyzer>
</fieldType>
Hai già trovato una risposta? –