Ho scritto un piccolo ciclo che ha aggiunto 10.000 documenti nell'IndexWriter e ci è voluto per sempre a farlo.Lucene IndexWriter lento per aggiungere documenti
C'è un altro modo per indicizzare grandi volumi di documenti?
Chiedo, perché quando questo va in diretta deve caricare in 15.000 record.
L'altra domanda è: come impedire di dover caricare nuovamente tutti i record quando si riavvia l'applicazione Web?
Modifica
Ecco il codice che ho usato;
for (int t = 0; t < 10000; t++){
doc = new Document();
text = "Value" + t.toString();
doc.Add(new Field("Value", text, Field.Store.YES, Field.Index.TOKENIZED));
iwriter.AddDocument(doc);
};
Edit 2
Analyzer analyzer = new StandardAnalyzer();
Directory directory = new RAMDirectory();
IndexWriter iwriter = new IndexWriter(directory, analyzer, true);
iwriter.SetMaxFieldLength(25000);
poi il codice per aggiungere i documenti, poi;
iwriter.Close();
Quanto tempo è durato per sempre? –
ci sono voluti dai 2,5 ai 3 minuti. È prevedibile? – griegs
Dovrei aggiungere che i documenti contenevano un singolo campo e che il campo aveva "valore" + t.toString() come valore. Quindi molto piccolo – griegs