Hi Sanne,
When I create a LazyIterator, every node makes a local normal query and
thern I return the TopDocs to the requester node. With TopDocs I can merge
the results and maintain them ordered. I'm using the idea behind
org.apache.lucene.search.ParallelMultiSearcher.search(Weight, Filter, int,
Sort).
We could make the classes
org.hibernate.search.query.engine.impl.HSQueryImpl
org.hibernate.search.query.engine.impl.QueryHits
suitable for being extended (changing most private methods to
protected, and also refactor the HSQueryImpl to possibly use a
different type for QueryHits)
As I see now, I don't need changes in QueryHits. The current implementation
has a getTopDocs() that solves my problem. On HSQueryImpl, I need the
QueryHits that could be created by *HSQueryImpl.getQueryHits( **
buildSearcher()**, calculateTopDocsRetrievalSize()).* So, changing these
three methods to protected or creating a getQueryHits() that hides them,
would solve my problem.*
*
and then making sure that it's possible to have
org.hibernate.search.spi.SearchFactoryIntegrator.createHSQuery()
return a custom type.
This could be a little hard, no? I don't wanna create problems to you!
If you can't make these changes, I can find another way. I just want to
create a query and get the TopDocs. This could be done in another way,
probably writing more code....
And yes, I have the source code!
Let me know what you think.
Thanks!
Israel