Hello Champions !!

I have a problem with indexation(or should I say its time); So the elements to 
Index are represtented by my own class - DocumentToIndex that consists of 
Fields(one Field is a fieldName and fieldValue). All documentToIndex are 
kept/stocked in ArrayList. When I start indexing firstly I open IndexWriter 
then for each field of documentToIndex I take its value and name and I create 
Lucene Field then added to the LuceneDocument; Once it's finished (creation of 
LuceneDocument I add it to index). After passing all documents I close 
IndexWriter; All this can be represented by code:


indexWriter = new IndexWriter(indexDirectory, indexAnalyzer, false, 
IndexWriter.MaxFieldLength.UNLIMITED);

      for (DocumentToIndex documentToIndex : objectsToIndex) {
        Document indexedDocument = new Document();
        for (int i = 0; i < documentToIndex.getDocumentSize(); i++) {

          indexedDocument.add(new 
Field(documentToIndex.getDocumentField(i).getName(),
                                        
documentToIndex.getDocumentField(i).getValue(), Field.Store.YES,
                                        Field.Index.ANALYZED));
        }

        indexWriter.addDocument(indexedDocument);

      }

indexWriter.close()

My problem is that it takes much time to index. For example to index 28310 
documentToIndex I need about 15min. Do I miss something or it's normal? Maybe 
this code is not really optimized? I'll be really grateful for any hints and 
tips;

Thanks in advance,
D

Reply via email to