2009-11-17 13 views

Répondre

16

Typiquement ceci est fait avec le SpellCheckComponent, qui utilise en interne le Lucene SpellChecker par défaut, qui implémente Levenshtein.

Le wiki explique vraiment très bien comment cela fonctionne, comment le configurer et quelles sont les options disponibles, sans aucun point le répéter ici. Vous pouvez également utiliser Lucene's fuzzy search operator.

Une autre option consiste à utiliser un phonetic filter au lieu de Levenshtein.

+0

Mauricio, pourriez-vous vérifier les deux liens vers l'opérateur de recherche floue et le filtre phonétique? les deux semblent être brisés. Merci! – reto

3

Bonne réponse de Mauricio, mon seul ajout "cheapo" est de simplement ajouter le caractère ~ à tous les termes que vous voulez faire correspondre à la façon de solr. Si vous utilisez la configuration par défaut, cela vous donnera une correspondance approximative.

+0

@MattMcKnight: Je veux faire la même mesure de distance dans solr mais ** ~ ** ne fonctionne pas dans le mien .. J'ai essayé d'utiliser **? Q = terme: "apple" ~ 2 ** Toute aide – iNikkz

+0

@iNikkz Si vous mettez des guillemets autour de la pomme, je pense que cela devient une requête d'expression, de sorte que le ~ 2 signifie la recherche de proximité, au lieu de modifier la distance. Essayez de laisser tomber les citations – MattMcKnight

+0

@MattMcKnight: J'ai essayé d'abandonner les guillemets mais cela donne trop de résultats parce que j'ai utilisé le filtrage phonétique sur l'index et la requête. J'ai collé ma question ici - [http://stackoverflow.com/questions/27484326/getting-most-likely-documents-of-the-query-using-phonetic-filter-in-solr]. Voulez-vous m'aider s'il vous plaît? – iNikkz