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