Geonetwork uses for her search function Lucene. Lucene can be used directly or via Hibernate Search. '''Option 1''' Implementing the search with Hibernate Search above Lucene. Advantages: * Using HQL for defining searches. Because we use Hibernate already, HQL is used anyway. * Hibernate Search is using Apache Lucene(tm) internally, and always provides the ability to fallback to the native Lucene APIs. '''Option 2''' Implementing the search with Lucene directly. * No abstraction to Lucene. Same approach used as in the Geonetwork Legacy.