lucenenet-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Daniel Wertheim <dan...@wertheim.se>
Subject Re: Problems with IndexSearcher
Date Tue, 06 Jul 2010 10:18:20 GMT
Never heard of the XY-prob before but I'll keep it in mind.

I'm still learning/getting started with Lucene and just got the book "Lucene
in Action" hence my questions....

Scenario:
There's a unit of work (UOW) that can be adding, removing and updating
documents in an index. Each UOW can work with multiple IndexWriters, where
each writer is designated it's own directory to hold indexes. When the UOW
is "done" changes are committed.

A long side there's one searcher per directory. These searchers are
longlived and not directly tied to the UOWs, hence I don't know if a writer
ever have created an index in the directory. Whenever a UOW is committed,
affected searchers are notified so that they can refresh themselves. But to
be able to create instances of the searchers I know must ensure that an
index exists in the directory and not just create them and let them sit
there waiting to provide their services as a searchers. As a newbie I just
looked at the "Directory" that is being passed to the Searcher and thought
"well it exists, hence no problems".....

//Daniel

2010/7/5 Digy <digydigy@gmail.com>

> Sorry, this is how lucene works. I can not think of a case where a
> IndexSearcher is needed on an not-existing-index. Could that be a XY
> problem? (http://www.perlmonks.org/index.pl?node_id=542341)
>
>
>
> "The XY problem is when you need to do X, and you think you can use Y to do
> X, so you ask about how to do Y, when what you really should do is state
> what your X problem is. There may be a Z solution that is even better than
> Y, but nobody can suggest it if X is never mentioned."
>
>
>
> DIGY.
>
>
>
>
>
> -----Original Message-----
> From: Daniel Wertheim [mailto:daniel@wertheim.se]
> Sent: Tuesday, July 06, 2010 12:27 AM
> To: lucene-net-dev@lucene.apache.org
> Subject: Re: Problems with IndexSearcher
>
>
>
> I get that a searcher needs an index to search, but why not let us create
> an
>
> instance of the searcher which doesn't blow up untill consumed? It takes an
>
> Directory as dependency, not a writer... The LuceneDirectory could be
>
> responsible for initializing the dir so that the searcher doesn't have a
>
> direct dependency on the writer. The dir should then notify dependent
>
> searcher(s), "hey, the indexed changed"... That way the searcher can be
>
> created and Or maybe return null as result of searches when no index
> exists.
>
>
>
> //Daniel
>
>
>
> 2010/7/5 Digy <digydigy@gmail.com>
>
>
>
> > No. To make a search, you have to have an index
>
> > and Indexes are created with IndexWriter.
>
> > (creating an empty index with IndexReader(or IndexSearcher) would be
> weird)
>
> > DIGY
>
> >
>
> > -----Original Message-----
>
> > From: Daniel Wertheim [mailto:daniel@wertheim.se]
>
> > Sent: Monday, July 05, 2010 10:03 PM
>
> > To: lucene-net-dev@lucene.apache.org
>
> > Subject: Re: Problems with IndexSearcher
>
> >
>
> > Hi,
>
> > Why? Doesn't that create an unclear coupling from the Searcher to the
>
> > Writer?
>
> >
>
> > Does this mean that they should be seen as one "unit"?
>
> >
>
> > //Daniel
>
> >
>
> > 2010/7/5 Digy <digydigy@gmail.com>
>
> >
>
> > > No. You have to initialize it with an IndexWriter.
>
> > > DIGY
>
> > >
>
> > > -----Original Message-----
>
> > > From: Daniel Wertheim [mailto:daniel@wertheim.se]
>
> > > Sent: Monday, July 05, 2010 7:59 PM
>
> > > To: lucene-net-dev@lucene.apache.org
>
> > > Subject: Fwd: Problems with IndexSearcher
>
> > >
>
> > > ---------- Forwarded message ----------
>
> > > From: Daniel Wertheim <daniel@wertheim.se>
>
> > > Date: 2010/7/5
>
> > > Subject: Problems with IndexSearcher
>
> > > To: lucene-net-user@lucene.apache.org
>
> > >
>
> > >
>
> > > Hi,
>
> > >
>
> > > Isn't it possible to create an instance of an IndexSearcher for a
>
> > directory
>
> > > that is empty? Note, I don't consume it, just create it, still there's
> an
>
> > > exception thrown:
>
> > >
>
> > > "no segments* file found in Lucene.Net.Store.SimpleFSDirectory"
>
> > >
>
> > > If I create an writer first, everything works fine.
>
> > >
>
> > > //Daniel
>
> > >
>
> > >
>
> >
>
> >
>
>

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