Skip to content


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Hibernate Search: full-text search for domain model

HSEARCH-1795 Hardyfication

latest commit 754adda0b9
Hardy Ferentschik hferentschik authored Sanne committed
Failed to load latest commit information.
backends HSEARCH-1624 Fixing some logging message glitches
build-config HSEARCH-1784 Introduce CheckStyle rule to ban usage of java.lang.Asse…
distribution HSEARCH-1806 Deleting implementation of serialization protocol using …
documentation HSEARCH-1792 Polish warning about support of multi-tenancy in Hiberna…
engine HSEARCH-1795 Hardyfication
infinispan HSEARCH-1775 Avoiding dependencies from hibernate-search-infinispan t…
integrationtest HSEARCH-1806 Deleting implementation of serialization protocol using …
legacy [maven-release-plugin] prepare for next development iteration
modules [maven-release-plugin] prepare for next development iteration
orm HSEARCH-1792 Add test for multi-tenancy support
serialization/avro HSEARCH-1795 Hardyfication
testing [maven-release-plugin] prepare for next development iteration
.gitattributes HSEARCH-1325 Control line endings with an appropriate .gitattributes …
.gitignore HSEARCH-1471 Adding Sublime Text project file ignores Preparing for release of version 5.0.1.Final
changelog.txt Preparing for release of version 5.0.1.Final
copyright.txt Docs: adding Nicolas Helleringer to the copyright holders
lgpl.txt Move search trunk to the new structure
pom.xml HSEARCH-1806 Deleting implementation of serialization protocol using …
settings-example.xml HSEARCH-1370 Removing enterprise repository from the example Maven se…

Hibernate Search

Version: 5.0.1.Final


Full text search engines like Apache Lucene are very powerful technologies to add efficient free text search capabilities to applications. However, Lucene suffers several mismatches when dealing with object domain models. Amongst other things indexes have to be kept up to date and mismatches between index structure and domain model as well as query mismatches have to be avoided.

Hibernate Search addresses these shortcomings - it indexes your domain model with the help of a few annotations, takes care of database/index synchronization and brings back regular managed objects from free text queries.

Hibernate Search is using Apache Lucene under the cover.


This version of Hibernate Search requires:

  • Hibernate Core 4.3.x
  • Apache Lucene 4.10.x



Include the following to your dependency list:


Sourceforge Bundle

Download the distribution bundle from SourceForge and unzip to installation directory. Then read the documentation available in docs/reference.

Building from source

> git clone
> cd hibernate-search
> mvn clean install -s settings-example.xml

Build options (profiles)

The documentation is based on AsciiDoctor. Per default only the html output is enabled. To also generate the docbok output and build the documentation from there use:

> mvn clean install -Pdocbook -s settings-example.xml

To build the distribution bundle run:

> mvn clean install -Pdocbook,dist -s settings-example.xml

You can also build the above mentioned modules directly by changing into these directories and executing maven in the module directory.


If you want to contribute, you find all you need to know in Contributing to Hibernate Search

Source code structure

The project is split in several Maven modules:

  • backends: Remote backends receiving an indexing job and executing it via different protocols.

  • build-config: Code related artefacts like checkstyle rules.

  • distribution: Builds the distribution package.

  • documentation: The project documentation.

  • engine: The engine of the project. Most of the beef is here.

  • infinispan: Backend storing indexes in Infinispan.

  • integrationtest: Integration tests with various technologies like WildFly, Spring or Karaf. Also includes performance tests.

  • legacy: Old Maven GAV kept for backward compatibility.

  • modules: Integration with WildFly using JBoss Modules.

  • orm: Native integration for Hibernate ORM.

  • serialization: Serialization code used by remote backends.

  • testing: Various helper classes to write tests using Hibernate Search. This module is semi private.


Latest Documentation:

Bug Reports:

Free Technical Support:


This software and its documentation are distributed under the terms of the FSF Lesser GNU Public License (see lgpl.txt).

Something went wrong with that request. Please try again.