Anyone else have this problem?
thank you,
--a
----------------------
The source code of the method.
It fails at ( writer.optimize();// This is where it fails), which is not
within a try/catch.
It works great with the lucene-1.2 version but fails with the
lucene-1.3-final.jar
Any ideas would be appreciated.
Apologies for posting this question to the dev list initially.
---- code ----
public synchronized void index() throws Exception {
final ProductDocumentBuilder productDocument =
ProductDocumentBuilder.getInstance();
productFactory = new ProductFactory(productHome, pgroupHome);
registerDocumentBuilder( "ml.product ", productDocument);
registerFactory( "ml.product ", productFactory);
logger.info( "index() starting. ");
logger.info( " loaded data, indexing ");
// create the indexer
IndexWriter writer = new IndexWriter(workDir, new
StandardAnalyzer(), true);
writer.mergeFactor = mergeFactor;
long start = System.currentTimeMillis();
// pass in a dummy new Object
Iterator allProducts = productFactory.contentIterate(new Object());
int i = 0;
while (allProducts.hasNext()) {
i++;
SearchProduct product = (SearchProduct) allProducts.next();
try {
writer.addDocument(productDocument.getDocument(product));
} catch (Exception e) {
logger.warn( "Failed to index Product: " + product.getPK(),
e);
}
}
writer.optimize();// This is where it fails
writer.close();
logger.info( " indexer took " + (System.currentTimeMillis() -
start) + " milliseconds. To index " + i + " products ");
productFactory.flush();
}
-- end code -------------------
- thank you,
--a
> This is a question for lucene-user list...redirecting.
>
> Looks okay, except it doesn 't look like real code. Also, you are
> catching Exception and only logging it. Maybe that exception hides the
> source of the problem.
>
> Otis
>
> --- anand@(protected) wrote:
> > Greetings,
> > I upgraded from lucene-1.2.jar to lucene-1.3-final.jar
> > (29-Dec-2003).
> > I get the following error with the new version any ideas?
> >
> > <error >
> > java.io.FileNotFoundException:
> > C:\resin-2.1.4\ML4.1Admin_index.temp\_88.fnm (The system cannot find
> > the
> > file specified)
> > at java.io.RandomAccessFile.open(Native Method)
> > at java.io.RandomAccessFile. <init >(RandomAccessFile.java:98)
> > at java.io.RandomAccessFile. <init >(RandomAccessFile.java:143)
> > at
> >
> org.apache.lucene.store.FSInputStream$Descriptor. <init >(FSDirectory.java:389)
> > at org.apache.lucene.store.FSInputStream. <init >(FSDirectory.java:418)
> > at org.apache.lucene.store.FSDirectory.openFile(FSDirectory.java:291)
> > at org.apache.lucene.index.FieldInfos. <init >(FieldInfos.java:80) at
> > org.apache.lucene.index.SegmentReader. <init >(SegmentReader.java:138)
> > at
> >
> org.apache.lucene.index.IndexWriter.mergeSegments(IndexWriter.java:423)
> > at org.apache.lucene.index.IndexWriter.optimize(IndexWriter.java:311)
> > </error >
> >
> > <code >
> > IndexWriter writer = new IndexWriter( <workDir >, new
> > StandardAnalyzer(), true);
> > writer.mergeFactor = <mergeFactor >;
> > long start = System.currentTimeMillis();
> > // pass in a dummy new Object
> > Iterator iter;// returns approriate iterator
> > while (condition) {
> > try {
> > writer.addDocument( <doc >);
> > } catch (Exception e) {
> > logger.error( "Failed to index doc " );
> > }
> > }
> > writer.optimize();
> > writer.close();
> >
> > </code >
> >
> > -- anand stephen
> >
> >
> >
> >