Hi All, A newbie out here.... I am using lucene 2.3.0. I need to use lucene to perform live searching and indexing. To achieve that, I tried the following
FSDirectory directory = FSDirectory.getDirectory(location); IndexReader reader = IndexReader.open(directory ); IndexWriter writer = new IndexWriter(directory , new SimpleAnalyzer(), true); // <- I want to recreate the index every time IndexSearcher searcher = new IndexSearcher( reader ); For Searching, I have the following code QueryParser queryParser = new QueryParser("xyz", new StandardAnalyzer()); Hits hits = searcher .search(queryParser.parse(displayName + "*")); And for adding records, I have the following code // Create doc object writer.addDocument(doc); IndexReader newIndexReader = reader.reopen() ; if ( newIndexReader != reader ) { reader.close() ; } reader = newIndexReader ; searcher.close() ; searcher = new IndexSearcher(reader ); So the issues that I face are 1) The addition of new record is not reflected in the search ( even though I have reinited IndexSearcher ) 2) Obviously, the add record code is not thread safe. I am trying to close and update the reference to IndexSearcher object. I could add a sync block, but the bigger question would be that what is the ideal way to achieve this case where I need to add and search record real-time ? Thanks ! -- View this message in context: http://www.nabble.com/Concurrent-Indexing-%2B-Searching-tp15234463p15234463.html Sent from the Lucene - Java Users mailing list archive at Nabble.com. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]