2009-07-29 6 views

Répondre

0

j'ai réussi à ajouter le filtre EdgeNGramTokenFilter en créant une classe de fournisseur en ajoutant une référence dans le fichier compass.config.xml en ajoutant la ligne suivante dans les <searchEngine> balises

<analyzerFilter name="lower" type="EdgeNGramTokenFilterProvider"/> 

Voici la classe:

import org.apache.lucene.analysis.TokenStream; 
import org.apache.lucene.analysis.ngram.EdgeNGramTokenFilter; 
import org.apache.lucene.analysis.ngram.EdgeNGramTokenFilter.Side; 
import org.compass.core.CompassException; 
import org.compass.core.config.CompassSettings; 
import org.compass.core.lucene.engine.analyzer.LuceneAnalyzerTokenFilterProvider; 

public class EdgeNGramTokenFilterProvider implements LuceneAnalyzerTokenFilterProvider { 

    public TokenStream createTokenFilter(TokenStream tokenStream) { 
     return new EdgeNGramTokenFilter(tokenStream, Side.FRONT, 1, 20); 
    } 

    public void configure(CompassSettings settings) throws CompassException { 
    } 

} 
Questions connexes