Hi Max, why don't you use WordDelimiterFilterFactory directly? I'm doing the same stuff inside my own analyzer:
final Map<String, String> args = new HashMap<String, String>(); args.put("generateWordParts", "1"); args.put("generateNumberParts", "1"); args.put("catenateWords", "0"); args.put("catenateNumbers", "0"); args.put("catenateAll", "0"); args.put("splitOnCaseChange", "1"); args.put("splitOnNumerics", "1"); args.put("preserveOriginal", "1"); args.put("stemEnglishPossessive", "0"); args.put("language", "English"); wordDelimiter = new WordDelimiterFilterFactory(); wordDelimiter.init(args); stream = wordDelimiter.create(stream); -- Kind regards, Mathias > -----Original Message----- > From: Max Lynch [mailto:ihas...@gmail.com] > Sent: Tuesday, October 05, 2010 1:03 AM > To: solr-user@lucene.apache.org > Subject: Re: Using Solr Analyzers in Lucene > > I have made progress on this by writing my own Analyzer. I basically added > the TokenFilters that are under each of the solr factory classes. I had to > copy and paste the WordDelimiterFilter because, of course, it was package > protected. > > > > On Mon, Oct 4, 2010 at 3:05 PM, Max Lynch <ihas...@gmail.com> wrote: > > > Hi, > > I asked this question a month ago on lucene-user and was referred here. > > > > I have content being analyzed in Solr using these tokenizers and filters: > > > > <fieldType name="text_standard" class="solr.TextField" > > positionIncrementGap="100"> > > <analyzer type="index"> > > <tokenizer class="solr.WhitespaceTokenizerFactory"/> > > > > <filter class="solr.WordDelimiterFilterFactory" > > generateWordParts="0" generateNumberParts="1" catenateWords="1" > > catenateNumbers="1" catenateAll="0" splitOnCaseChange="1"/> > > <filter class="solr.LowerCaseFilterFactory"/> > > <filter class="solr.SnowballPorterFilterFactory" language="English" > > protected="protwords.txt"/> > > </analyzer> > > <analyzer type="query"> > > <tokenizer class="solr.WhitespaceTokenizerFactory"/> > > <filter class="solr.WordDelimiterFilterFactory" > > generateWordParts="0" generateNumberParts="1" catenateWords="1" > > catenateNumbers="1" catenateAll="0" splitOnCaseChange="1"/> > > <filter class="solr.LowerCaseFilterFactory"/> > > <filter class="solr.SnowballPorterFilterFactory" language="English" > > protected="protwords.txt"/> > > </analyzer> > > </fieldType> > > > > Basically I want to be able to search against this index in Lucene with one > > of my background searching applications. > > > > My main reason for using Lucene over Solr for this is that I use the > > highlighter to keep track of exactly which terms were found which I use for > > my own scoring system and I always collect the whole set of found > > documents. I've messed around with using Boosts but it wasn't fine grained > > enough and I wasn't able to effectively create a score threshold (would > > creating my own scorer be a better idea?) > > > > Is it possible to use this analyzer from Lucene, or at least re-create it > > in code? > > > > Thanks. > > > >