2011-09-13 1 views
2

J'ai une liste de mots mal orthographiés et corrigés dans le fichier synonyms.txt. Comment puis-je l'utiliser dans solr pour des suggestions d'orthographe?Comment faire pour obtenir des suggestions d'orthographe de synonyms.txt dans solr?

par exemple. synonyms.txt contient des entrées suivantes:

laptap => laptop 
delll => dell 

Quand je requête « laptap » au serveur Solr, je devrais suggestion que « avez-vous dire: ordinateur portable ».

Je sais que le schema.xml ressemblera à ceci:

<fieldType name="textSpell" class="solr.TextField" positionIncrementGap="100" omitNorms="true"> 
<analyzer type="index"> 
    <tokenizer class="solr.StandardTokenizerFactory"/> 
    <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt"/> 
    <filter class="solr.LowerCaseFilterFactory"/> 
    <filter class="solr.StandardFilterFactory"/> 
</analyzer> 
<analyzer type="query"> 
    <tokenizer class="solr.StandardTokenizerFactory"/> 
    <filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true"/> 
    <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt"/> 
    <filter class="solr.LowerCaseFilterFactory"/> 
    <filter class="solr.StandardFilterFactory"/> 
</analyzer> 
</fieldType> 

Qu'en est-solrconfig.xml? Je ne veux pas utiliser d'index car j'ai déjà une liste. Une idée?

Répondre

2

mise à jour pour accueillir l'exigence de ne pas créer un index/dictionnaire à partir du fichier plat:

  1. Regardez la fonctionnalité Suggester qui a été ajoutée dans Solr 3.1
  2. Implement a Custom SpellCheckComponent qui a le comportement souhaité (bien que je pense que Suggester est proche de ce que vous voulez).

suggestion précédente:

Voici un bon article sur la mise en place de vérification orthographique dans Solr, qui comprend comment configurer la vérification orthographique en fonction de fichiers. Vous devriez pouvoir suivre cela et remplacer le fichier .html dans l'exemple de configuration avec votre fichier synonyms.txt.

Getting started Spell Checking with Apache Lucene and Solr

+0

FileBasedSpellChecker crée et utilise un dictionnaire orthographique basée hors d'un fichier plat qui est le même que la création d'un index. J'ai une cartographie des mots mal orthographiés à des mots corrigés et je voudrais utiliser ces mappages et ne pas chercher dans l'index. Je ne suis pas sûr comment je peux utiliser FileBasedSpellChecker pour utiliser mon fichier pour des suggestions. – qwerty

+0

N'a pas réalisé que le FileBasedSpellChecker crée un dictionnaire d'orthographe hors du fichier plat. –

Questions connexes