In the last two days, I've worked on extracting the Hibernate Search specific 
knowledge of the query engine. 
The goals are:
 - let it be reused by Infinispan and other object sources
 - isolate Hibernate Search from Core (longer goal

Here is the branch
https://github.com/emmanuelbernard/hibernate-search/commits/HSEARCH-687
and the commit
https://github.com/emmanuelbernard/hibernate-search/commit/bd56fee00464f9e0e5660561764fede9e22f8980

This is super early  design but Sanne can you check it out to see if it would 
fit Infinispan's Search module. Check FullTextQueryImpl and 
ScrollableResultsetImpl for examples on how to use the SPI.

Still TODO
 - Move DocumentExtractor and EntityInfo to query.engine?
 - Expose a different object than DocumentExtractor (it hosts first/max and 
searcher for ScrollableRS which is not really correct)
 - Make EntityInfo presentable
 - Isolate TimeoutManager?
 - Make Loader hierarchy depend on HSQuery?
 - Refactor some code out of Loader implementations? At first sight, it's not 
necessary
 - accept the fact that SearchFactoryImplementor becomes a SPI?
 - create a factory for HSQuery from SearchFactoryImplementor and make HSQuery 
an interface
 - more interfaces (EntityInfo, DocumentExtractor)?

The usage is still complex especially TimeoutManager but it's a lot better than 
what we had :)
_______________________________________________
hibernate-dev mailing list
hibernate-dev@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/hibernate-dev

Reply via email to