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