2017-10-13 4 views
0

Lorsque je cherche une entreprise dans solr, le résultat devrait contenir des résultats similaires tels que la société, comp-any et company.Comment obtenir cela en utilisant solr.Comment améliorer la recherche de proximité dans solr

+0

qu'avez-vous déjà essayé? – Mysterion

+0

Exactement quelles sont les règles pour ce que vous considérez comme un "résultat similaire"? – MatsLindh

+0

Si je cherche Walmart, le résultat devrait afficher wal mart, wal-mart et walmart et viceversa.Comment réaliser ceci – Savitha

Répondre

0

Pour le cas d'utilisation que vous avez indiqué, vous pouvez utiliser n-grammes.

<analyzer> 
    <tokenizer class="solr.StandardTokenizerFactory"/> 
    <filter class="solr.NGramFilterFactory" minGramSize="3" maxGramSize="7"/> 
</analyzer> 

Ce filtre casse les jetons dans les parties des dimensions spécifiées, comme, pour le mot « société », produira les jetons suivants: « com », « OMP », « mpa », « pan », "tout", "comp", "ompa", "mpan", "pany", "compa", "ompan", "mpany", "compagnie", "société", "société"

SOYEZ PRUDENT Ce filtre peut dégrader les performances et augmenter votre index de manière exponentielle, et exécute éventuellement une mémoire insuffisante de Solr en fonction de la taille des champs que vous utilisez (c'est-à-dire si vous l'utilisez pour l'extraction de contenu). Ainsi, choisir judicieusement le terrain pour l'utiliser :)

Voici quelques informations utiles avec des exemples à ce sujet: https://lucene.apache.org/solr/guide/6_6/filter-descriptions.html#FilterDescriptions-N-GramFilter