Or simpler: wr = new IndexWriter(indexDir, aWrapper, !IndexReader.indexExists(indexDir));
----- Original Message ---- From: Michael J. Prichard <[EMAIL PROTECTED]> To: java-user@lucene.apache.org Sent: Sunday, July 30, 2006 1:35:29 PM Subject: Re: PerFieldAnalyzerWrapper use? Analyzer's not being used as expected.... This look better? // Check to see if index exists. // If it doesn't, then set createIndex boolean to true boolean createIndex = false; if (!IndexReader.indexExists(indexDir)) { createIndex = true; } // let's set up the index writer wr = new IndexWriter(indexDir, aWrapper, createIndex); wr.setUseCompoundFile(false); Otis Gospodnetic wrote: >I think you can reuse them. Fields should he handled/analyzed sequentially. >I reuse them for some stuff on Simpy.com. > >But you may want to clean up that try/catch. Instead of catching the >IOException, you may want to use !IndexReader.indexExists(...) in place of >that boolean param to IndexWriter ctor. > >Otis > >----- Original Message ---- >From: Michael J. Prichard <[EMAIL PROTECTED]> >To: java-user@lucene.apache.org >Sent: Saturday, July 29, 2006 4:04:23 PM >Subject: Re: PerFieldAnalyzerWrapper use? Analyzer's not being used as >expected.... > >Hey Erik, > >Will do. May I ask why? Out of curiousity. > >Thanks, >Michael > >Erik Hatcher wrote: > > > >>I think you should use a new instance of each analyzer for each >>field, not reuse instances. Other than that, your usage is fine. >> >> Erik >> >> >>On Jul 29, 2006, at 3:49 PM, Michael J. Prichard wrote: >> >> >> >>>So I have the following code... >>> >>>// let's get our SynonymAnalyzer >>>SynonymAnalyzer synAnalyzer = getSynonymAnalyzer(); >>>// let's get our EmailAnalyzer >>>EmailAnalyzer emailAnalyzer = getEmailAnalyzer(); >>> >>>// set up perfieldanalyzer >>>PerFieldAnalyzerWrapper aWrapper = new PerFieldAnalyzerWrapper(new >>>StandardAnalyzer()); aWrapper.addAnalyzer("subject", >>>synAnalyzer); >>>aWrapper.addAnalyzer("content", synAnalyzer); >>>aWrapper.addAnalyzer("from", emailAnalyzer); >>>aWrapper.addAnalyzer("to", emailAnalyzer); >>>aWrapper.addAnalyzer("cc", emailAnalyzer); >>>aWrapper.addAnalyzer("bcc", emailAnalyzer); >>> >>>// create the writer >>>try { >>> wr = new IndexWriter(indexDir, aWrapper, false); >>> wr.setUseCompoundFile(false); >>>} catch (IOException iox) { >>> // means it ain't there >>> wr = new IndexWriter(indexDir, aWrapper, true); >>> wr.setUseCompoundFile(false); >>>} >>> >>>----- >>> >>>When I add a Document to the IndexWriter it does not seem to use the >>>analyzer's I want it too. Just uses StandardAnalyzer for >>>everythign! Is this the correct way to use PerFieldAnalyzerWrapper? >>> >>>Thanks, >>>Michael >>> >>>P.S. I am using Lucene 2 libs. >>> >>>--------------------------------------------------------------------- >>>To unsubscribe, e-mail: [EMAIL PROTECTED] >>>For additional commands, e-mail: [EMAIL PROTECTED] >>> >>> >> >>--------------------------------------------------------------------- >>To unsubscribe, e-mail: [EMAIL PROTECTED] >>For additional commands, e-mail: [EMAIL PROTECTED] >> >> >> > > >--------------------------------------------------------------------- >To unsubscribe, e-mail: [EMAIL PROTECTED] >For additional commands, e-mail: [EMAIL PROTECTED] > > > > > >--------------------------------------------------------------------- >To unsubscribe, e-mail: [EMAIL PROTECTED] >For additional commands, e-mail: [EMAIL PROTECTED] > > > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]