[hibernate-dev] [HSEARCH] Extract core of HSEARCH query engine to be independent of Hibernate Core.

Emmanuel Bernard emmanuel at hibernate.org
Fri Feb 18 13:00:12 EST 2011


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



More information about the hibernate-dev mailing list