lucene-java-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Nicolas Lalevée <nicolas.lale...@anyware-tech.com>
Subject Re: how to define a pool for Searcher?
Date Sun, 25 Feb 2007 16:42:02 GMT
Le dimanche 25 février 2007 16:55, Mohammad Norouzi a écrit :
> so, you mean, I open one reader for each session (each user) and never
> close it until the session has expired? if I do this, is that affect the
> performance?

The searcher/reader is a view on the index. And each time you open a new one, 
it cost some time. And the only reason to have a new view on the index is 
that you modified it.
As you never modify it, as said Mark, never close your searcher/reader. If 
your sevral users are reading the same index, you might share the instance of 
the searcher in the different user sessions.

Nicolas

>
> On 2/25/07, Mark Miller <markrmiller@gmail.com> wrote:
> > If you never modify your index you should never need to close your
> > reader (or searcher). Doing so would just slow you down.
> >
> > Mohammad Norouzi wrote:
> > > Hi
> > > actually I dont have any writer or writing reader. I just have reader.
> > > when
> > > a reader is created by the user because the document returned by hits
> > > is very much, for example 20,000 so I display the result page by page.
> > > whenever
> > > user click to next page the hits will use the reader to load next 20
> > > records,
> > > besides, I dont have one directory, there are more than one directory
> >
> > and
> >
> > > index on the server and each user may request for one of them.
> > > the problem is, a user may close his browser window and the reader
> > > will stay
> > > open becasue I cant detect it. and either if his session expires my
> > > destroy
> > > method will be called and searcher will close but in the cached
> > > searcher i
> > > can not detect which one is closed and ready it for next user. if the
> > > searcher had a isClosed() method it was easy to determine but
> > > unfortunately
> > > it's has'nt
> > >
> > > any idea?
> > > thanks again
> > >
> > > On 2/25/07, Mark Miller <markrmiller@gmail.com> wrote:
> > >> I am a bit confused about what you are asking. Why do you need the
> > >> Searcher to time out? That code should release your searchers at the
> > >> appropriate times...when the index has been modified. The way that I
> >
> > use
> >
> > >> it is to make a synchronized map that keeps around an index accessor
> >
> > for
> >
> > >> each index that I open...from there the code should do the rest...when
> >
> > a
> >
> > >> writer or a writing reader is released the code waits for all
> > >> searchers to be released and then clears the cache of searchers and
> > >> new searchers are created when requested until another writer or
> > >> writing reader is released...
> > >>
> > >> Mohammad Norouzi wrote:
> > >> > Thank you Mark for your useful help. the code you introduce was very
> > >> > helpful
> > >> > for me
> > >> >
> > >> > but my only question is that I need to place an idle time for each
> > >>
> > >> open
> > >>
> > >> > searcher, so if it exceed the specific time then release that
> >
> > searcher
> >
> > >> > and
> > >> > get ready for another thread.
> > >> >
> > >> > how can I put such this feature, I was thinking of a timeout
> >
> > listener,
> >
> > >> > but
> > >> > dont know where tu put it. I have a SingleSearcher that wraps
> >
> > lucene's
> >
> > >> > Searcher and it returns an ResultSet in which I put a Hits object.
> > >> > do I have
> > >> > to put the time in my ResultSet or my SingleSeacher?
> > >> >
> > >> > still I dont know ehrthrt the reader is important for Hits or
> > >>
> > >> Searcher?
> > >>
> > >> > consider I passed a hits to my ResultSet, now, if I close searcher,
> > >> > will the
> > >> > Reader get closed?  or another vague thing is can a Reader work
> >
> > thread
> >
> > >> > safely for every Searcher with differenet queries?
> > >> >
> > >> > Thank you very much again.
> > >> >
> > >> > On 2/22/07, Mark Miller <markrmiller@gmail.com> wrote:
> > >> >> I would not do this from scratch...if you are interested in Solr
go
> > >>
> > >> that
> > >>
> > >> >> route else I would build off
> > >> >> http://issues.apache.org/jira/browse/LUCENE-390
> > >> >>
> > >> >> - Mark
> > >> >>
> > >> >> Mohammad Norouzi wrote:
> > >> >> > Hi all,
> > >> >> > I am going to build a Searcher pooling. if any one has
> > >>
> > >> experience on
> > >>
> > >> >> > this, I
> > >> >> > would be glad to hear his/her recommendation and suggestion.
I
> >
> > want
> >
> > >> to
> > >>
> > >> >> > know
> > >> >> > what issues I should be apply. considering I am going to
use
> > >>
> > >> this on
> > >> a
> > >>
> > >> >> > web
> > >> >> > application with many user sessions.
> > >> >> >
> > >> >> > thank you very much in advance.
> >
> > ---------------------------------------------------------------------
> >
> > >> >> To unsubscribe, e-mail: java-user-unsubscribe@lucene.apache.org
> > >> >> For additional commands, e-mail: java-user-help@lucene.apache.org
> > >>
> > >> ---------------------------------------------------------------------
> > >> To unsubscribe, e-mail: java-user-unsubscribe@lucene.apache.org
> > >> For additional commands, e-mail: java-user-help@lucene.apache.org
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: java-user-unsubscribe@lucene.apache.org
> > For additional commands, e-mail: java-user-help@lucene.apache.org

---------------------------------------------------------------------
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