Hi,
I try to add and update document in index At the start its take only 1 to 2 second but after 50 to 60 document add and update Its take 40 to 50 second or some time its take more then 1 min Is there any way to improve performance ? Please help me Please check my code if(documents!=null && documents.size()>0){ IndexWriter writer = null; boolean createNewIndexDirectory = !IndexReader.indexExists(FSDirectory.open(indexDir)); int createNewIndexReTries = 0; Directory directory = FSDirectory.open(indexDir, null); while(writer==null) { try{ directory.setLockFactory(new NativeFSLockFactory(indexDir)); if(analyzer == null){ analyzer = new StandardAnalyzer(IAsiteIndexConstants.LUCENE_VERSION,AsiteIndexUtil.getS topWordSet()); } writer = new IndexWriter(directory, analyzer, createNewIndexDirectory,IndexWriter.MaxFieldLength.UNLIMITED); for(Document document : documents){ if(document.get(ICustomFormIndexConstants.INDEX_FIELD_FORM_ID)!=null){ formId = Integer.parseInt(document.get(ICustomFormIndexConstants.INDEX_FIELD_FORM _ID)); } String strValue = NumericUtils.longToPrefixCoded(Long.parseLong(document.get(ICustomFormIn dexConstants.INDEX_FIELD_MSG_ID))); term = new Term(ICustomFormIndexConstants.INDEX_FIELD_MSG_ID,strValue); writer.updateDocument(term, document); } }catch (LockObtainFailedException ex){ CheckIndex.Status status = new CheckIndex(directory).checkIndex(); if(status!=null && status.numBadSegments>0){ log.error("Index found corrupted. status.numBadSegments ::"+status.numBadSegments); ex.printStackTrace(); throw ex; } }finally{ try{ if(writer!=null){ writer.close(); } }catch(IOException ex){ } } } Thanks & Regards Yogesh