Hibernate Search: full-text search for domain model
Failed to load latest commit information.
backends HSEARCH-2297 Avoid Logger method tracef(String, int) to maintain back… Jun 14, 2016
build-config [maven-release-plugin] prepare for next development iteration May 21, 2016
distribution [maven-release-plugin] prepare for next development iteration May 21, 2016
documentation HSEARCH-2307 Documentation shouldn't suggest need for @Indexed of emb… Jun 29, 2016
elasticsearch HSEARCH-2293 Correct the code to only generate JBoss Logger 3.1 compa… Jun 7, 2016
engine HSEARCH-2312 Do not require the lucene-backward-codecs dependency Jul 20, 2016
infinispan [maven-release-plugin] prepare for next development iteration May 21, 2016
integrationtest HSEARCH-2304 Add missing @Override annotations Jun 20, 2016
legacy [maven-release-plugin] prepare for next development iteration May 21, 2016
modules [maven-release-plugin] prepare for next development iteration May 21, 2016
orm HSEARCH-2310 Introduce a test for MassIndexer on entities with a comp… Jul 11, 2016
serialization/avro [maven-release-plugin] prepare for next development iteration May 21, 2016
sharedtestresources [maven-release-plugin] prepare for next development iteration May 21, 2016
testing [maven-release-plugin] prepare for next development iteration May 21, 2016
travis HSEARCH-2148 Add Travis support Mar 4, 2016
.gitattributes HSEARCH-1325 Control line endings with an appropriate .gitattributes … May 13, 2013
.gitignore Adding .DS_Store from OS X to .gitignore; Removing CheckStyle rule wh… Jul 1, 2015
.travis.yml HSEARCH-2217 Move Travis build to Trusty infrastructure and use Maven… Apr 14, 2016
CONTRIBUTING.md HSEARCH-2299 Add a CONTRIBUTING.md file Jun 17, 2016
README.md HSEARCH-2272 Upgrade to Hibernate ORM 5.1.0.Final Jun 20, 2016
changelog.txt Updates to readme and changelog in preparation of release 5.6.0.Beta1 May 21, 2016
copyright.txt Update the record of copyright holders: copyright.txt Apr 16, 2015
lgpl.txt Move search trunk to the new structure Aug 15, 2007
pom.xml HSEARCH-2308 Upgrade JGroups to version 3.6.10.Final Jun 30, 2016
settings-example.xml HSEARCH-2300 Use Central first to get the artifacts Jun 17, 2016


Hibernate Search

Version: 5.6.0.Beta1


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 ORM 5.0.x or 5.1.x
  • Apache Lucene 5.5.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 git@github.com:hibernate/hibernate-search.git
> 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.

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

  • 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).