lucene-java-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Terence Lai <t...@trekspace.com>
Subject RE: Re: Help on the ParallelMultiSearcher.rewrite(Query) method
Date Fri, 08 Jul 2005 14:32:29 GMT
Hi Erik,

I have implemented the way as you described, and it is now working probably. However, I have
a concern on the performance of my implementation.

Since I am using parallelMultiSearcher to perform the search. I have no idea on which index
directory is corresponding to the document that I am trying to highlight. The way my application
works is indicated as follows:

1) user enter a keyword search criteria for the document contents
2) the system returns a list of document titles with hyper links to drill down to the contents.
3) upon the user click the hyper link of the individual document, the application will perform
the highlight based on the search criteria cached from Step (1)

Because of this, the application does not keep track of which index directory is associated
with the search result document. Currently, I have to make another search using the document
primary key to locate the searcher, and using this individual searcher to rewrite my query.
However, it invokes an extra search operation which may be costly.

Therefore, I originally tried to use the ParallelMultiSearcher.rewrite() to convert the query
into a primitive form. Doing this way, I don't need to worry about which index directory is
belong to the index document. Is there any reason why the method not being supported?

I am trying to think of an alternative way. Is that possible for me to loop through all the
individual searchers and perform an IndexSearcher.rewrite with each searcher. At the end,
I create a BooleanQuery to join them together with BooleanQuery(subQuery, false, false); Do
you think this will work? Is there any issue if I do this?

Thanks,
Terence



> Terence - you need to do the rewrite using the appropriate  
> IndexReader for a single index.  You can use query.rewrite(IndexReader).
> 
>      Erik
> 
> 
> On Jul 7, 2005, at 3:04 PM, Terence Lai wrote:
> 
> > Hi all,
> >
> > I am currently using Lucene 1.4.2. Since my search documents are  
> > huge, I divide the search index into different index directory and  
> > make use of the ParallelMultiSearcher to perform the search.
> >
> > Currently, I am working on the highlight feature using Lucene  
> > Sandbox Highlighter. One of the requirements is to convert the  
> > Query into the primitive form. I invoked the  
> > ParallelMultiSearcher.rewrite(Query). However, I got the exception,  
> > UnsupportedOperationException.
> >
> > I start studying the source code. I discover that the  
> > ParallelMultiSearcher calls Query.combine() method to combine  
> > multiple primitive query into a single one. By looking at the  
> > Query.java, the method hasn't been implemented as you see below:
> >
> >   /** Expert: called when re-writing queries under MultiSearcher.
> >    *
> >    * <p>Only implemented by derived queries, with no
> >    * {@link #createWeight(Searcher)} implementatation.
> >    */
> >   public Query combine(Query[] queries) {
> >     throw new UnsupportedOperationException();
> >   }
> >
> > Does anyone know any alternative to rewrite the query if I have  
> > multiple index directories?
> >
> > Thanks,
> > Terence
> >
> >
> >
> >
> > ----------------------------------------------------------
> > Get your free email account from http://www.trekspace.com
> >           Your Internet Virtual Desktop!
> >
> > ---------------------------------------------------------------------
> > 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
> 




----------------------------------------------------------
Get your free email account from http://www.trekspace.com
          Your Internet Virtual Desktop!

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