>>> Michael Bell 2/21/2012 12:18 PM >>>
I've ported over the various pieces from SOLR 3.5 (SolrQueryParser, 
ReverseWildcardFilter, ReverseWildcardFactory).

But I do not understand how to apply this to  indexing.

Here's the situation. Some fields will need StandardAnalyzer, some need 
KeyWord, some need "SuperAnalyzer" (Standard+ReverseWildcardFilter). 

Ok, most of that is easy enough - just use the PerFieldAnalyzerWrapper.

But how to create "SuperAnalyzer".

I started down the road of taking StandardAnalyzer and ReverseWildcardFilter in 
the constructor of SuperAnalyzer which extends Analyzer,
but I started getting confused which methods to override and how to implement 
them:

public class SuperAnalyzer extends Analyzer {

        final private StandardAnalyzer standard;
        final private ReversedWildcardFilterFactory filter;
        public SuperAnalyzer(StandardAnalyzer 
standard,ReversedWildcardFilterFactory filter) { // probably should use 
Analyzer, TokenFilter for nice generic sig
                this.standard=standard; this.filter=filter;
        }
        @Override
        public int getPositionIncrementGap(String fieldName) {
                return this.standard.getPositionIncrementGap(fieldName); // or 
something else
        }
        @Override
        public TokenStream tokenStream(String fieldName, Reader reader) { // 
this looks ok
                TokenStream ts=this.standard.tokenStream(fieldName, reader);
                return this.filter.create(ts);          
        }
@Override
public TokenStream reusableTokenStream(String fieldName, Reader reader)
                throws IOException {
        return super.reusableTokenStream(fieldName, reader); // this looks 
wrong, don't know how to fix
}
//
// other methods to override?
}



---------------------------------------------------------------------
To unsubscribe, e-mail: java-user-unsubscr...@lucene.apache.org
For additional commands, e-mail: java-user-h...@lucene.apache.org

Reply via email to