J'essaie de chercher un mot partiel en utilisant Solr, mais je n'arrive pas à le faire fonctionner. Je l'utilise dans mon fichier schema.xml
.Rechercher des mots partiels en utilisant Solr
<fieldType name="text" class="solr.TextField" omitNorms="false">
<analyzer type="index">
<tokenizer class="solr.NGramTokenizerFactory" minGramSize="3" maxGramSize="15" />
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
<analyzer type="query">
<tokenizer class="solr.StandardTokenizerFactory"/>
<filter class="solr.StandardFilterFactory"/>
<filter class="solr.LowerCaseFilterFactory"/>
<filter class="solr.PorterStemFilterFactory"/>
<filter class="solr.WordDelimiterFilterFactory" stemEnglishPossessive="1" splitOnNumerics="1" splitOnCaseChange="1" generateWordParts="1" generateNumberParts="1" catenateWords="1" catenateNumbers="1" catenateAll="1" preserveOriginal="1"/>
</analyzer>
</fieldType>
Recherche de die h
ne fonctionnera pas, mais die hard
renvoie des résultats. J'ai réindexé la base de données après l'ajout de la configuration ci-dessus.
Here est l'URL et la sortie lors de la recherche de die hard
. Le débogueur est activé.
Here est l'URL et la sortie lors de la recherche de die h
. Le débogueur est activé. Je utilise Solr 3.3. Here est le reste du fichier schema.xml
.
J'ai résolu ceci. aller à: http://stackoverflow.com/questions/4824954/solr-partial-and-full-string-match/8247013#8247013 – wormhit