lucene-java-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Mohammad Norouzi" <mnr...@gmail.com>
Subject Re: how to define a pool for Searcher?
Date Sun, 25 Feb 2007 14:18:47 GMT
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
>
>


-- 
Regards,
Mohammad

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message