2010-03-18 7 views
0

Nous remplaçons actuellement notre recherche de produit de mysql à un backend SOLR. Nos clients recherchent souvent des termes tels que «startrek online», «starwars», «redsteel» ou encore «grandtheftauto». Existe-t-il une méthode dans SOLR pour étendre ou vérifier ces recherches en syllabes, par exemple: «Star Trek Online», «Star Wars», «Red Steel», «Grand Theft Auto»?Comment gérer les concaténations de termes de recherche dans SOLR

+0

vous pouvez vérifier l'orthographe via un fichier spellcheck.txt dans le dir – Karussell

Répondre

2

Vous pouvez utiliser un fichier de synonymes. Jetez un coup d'oeil dans this documenation site (solr.SynonymFilterFactory):

<fieldtype name="syn" class="solr.TextField"> 
    <analyzer> 
     <tokenizer class="solr.WhitespaceTokenizerFactory"/> 
     <filter class="solr.SynonymFilterFactory" synonyms="syn.txt" ignoreCase="true" expand="false"/> 
    </analyzer> 
</fieldtype> 

Pour la division de la SearchQuery WordDelimiterFilterFactory pourrait correspondre en partie à vos besoins, mais peut-être le synomymfilter est plus facile et plus (+ probablement plus rapide).

+0

je conf espérais une solution plus genric que le fichier des synonymes. Mais je vais essayer le LetterDelimitedFilterFactory. –

+0

vous pourriez essayer de demander cela sur la liste de diffusion. Peut-être qu'il y a des hacks ou des correctifs pour ce scénario. – Karussell

Questions connexes