[ 
https://issues.apache.org/jira/browse/LUCENE-1203?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12575764#action_12575764
 ] 

Yonik Seeley commented on LUCENE-1203:
--------------------------------------

I should be more explicit... creating an IndexSearcher from an existing 
IndexReader is super lightweight.
It's the IndexReader that contains all the state.  If you use an IndexSearcher 
constructor that doesn't take an IndexReader, then the IndexSearcher creates 
one itself.

"Make sure you only open one IndexSearcher, and share it among all of the 
threads that are doing searches"
is correct advice.  It means for a particular view of the index.  A new 
IndexSearcher should be opened when a new view of the index is desired.  Make 
sense?


> [PATCH] Allow setting IndexReader to IndexSearcher
> --------------------------------------------------
>
>                 Key: LUCENE-1203
>                 URL: https://issues.apache.org/jira/browse/LUCENE-1203
>             Project: Lucene - Java
>          Issue Type: Improvement
>          Components: Search
>    Affects Versions: 2.3.1
>         Environment: Linux/2.6
>            Reporter: Mindaugas Žakšauskas
>         Attachments: IndexReaderSetter4IndexSearcher.patch
>
>
> As I've received no counter-arguments for my Lucene Java-User mailing list 
> (see 
> http://mail-archives.apache.org/mod_mbox/lucene-java-user/200803.mbox/[EMAIL 
> PROTECTED]), I would like to propose adding a setter to set new instance of 
> IndexReader to IndexSearcher. 
> Why is this needed?
> The FAQ 
> (http://wiki.apache.org/lucene-java/LuceneFAQ#head-48921635adf2c968f7936dc07d51dfb40d638b82)
>  says:
> bq. ??"Make sure you only open one IndexSearcher, and share it among all of 
> the threads that are doing searches -- this is safe, and it will minimize the 
> number of files that are open concurently."??
> So does the JavaDoc 
> (http://lucene.apache.org/java/2_3_1/api/core/org/apache/lucene/search/IndexSearcher.html).
> In my application, I don't want to expose anything about IndexReader; all 
> they need to know is Searcher - see my post to the mailing list how would I 
> do this. However, if the index is updated, reopened reader cannot be set back 
> to IndexSearcher, a new instance of IndexSearcher needs to be created (*which 
> contradicts FAQ and Javadoc*).
> At the moment, the only way to go around this is to create a surrogate 
> subclass of IndexSearcher and set new instance of IndexReader. A simple 
> setter would just do the job.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to