Le moteur de recherche Apaches Solr fournit-il des correspondances de chaînes approximatives, par ex. via l'algorithme de Levenshtein? Je cherche un moyen de trouver des clients par nom de famille. Mais je ne peux pas garantir l'exactitude des noms. Comment puis-je configurer SOLR afin qu'il trouve la personne "Levenshtein" même si je recherche "Levenstein"?Comment configurer SOLR pour utiliser la correspondance de chaîne approchée Levenshtein?
Répondre
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.
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.
@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
@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
@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
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