lucene-java-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From ajay_garg <garg.jeena.isi.ka.naam....@gmail.com>
Subject Re: Concurrent Indexing + Searching
Date Sun, 03 Feb 2008 16:54:16 GMT

Hi. Sorry if I seem a stranger in this thread, but there is something that I
can't resist clearing myself on.

Mark, you say that the additional documents added to a index, won't show up
until the # of threads accessing the index hits 0; and subsequently the
indexwriter instance is closed.

But I suppose that the autocommit=true, asserts that all flushed (Added)
documents are immediately committed ( and hence visible ) in the index, and
no explicit cclosing ( releasiing ) of the Indexwriter instance is required.
( Of course, re-opening an IndexSearcher instance is required ).

Am I being dumb ?

Looking eagerly for you to shed some light on my doubt.

Thanks
Ajay Garg


codetester wrote:
> 
> 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-tp15234463p15255394.html
Sent from the Lucene - Java Users mailing list archive at Nabble.com.


---------------------------------------------------------------------
To unsubscribe, e-mail: java-user-unsubscribe@lucene.apache.org
For additional commands, e-mail: java-user-help@lucene.apache.org


Mime
View raw message