Hibernate Search Distribution

Builds the distribution bundles

License

License

Categories

Categories

Distribution Build Tools Hibernate Data ORM Search Business Logic Libraries
GroupId

GroupId

org.hibernate.search
ArtifactId

ArtifactId

hibernate-search-distribution
Last Version

Last Version

6.0.0.Alpha2
Release Date

Release Date

Type

Type

zip
Description

Description

Hibernate Search Distribution
Builds the distribution bundles
Project Organization

Project Organization

Hibernate

Download hibernate-search-distribution

Dependencies

provided (11)

Group / Artifact Type Version
org.hibernate.search : hibernate-search-engine jar 6.0.0.Alpha2
org.hibernate.search : hibernate-search-mapper-orm jar 6.0.0.Alpha2
org.hibernate.search : hibernate-search-backend-lucene jar 6.0.0.Alpha2
org.hibernate.search : hibernate-search-backend-elasticsearch jar 6.0.0.Alpha2
org.hibernate.search » hibernate-search-documentation pom 6.0.0.Alpha2
org.jboss.spec.javax.annotation : jboss-annotations-api_1.2_spec jar 1.0.2.Final
javax.persistence : javax.persistence-api jar 2.2
org.jboss.spec.javax.transaction : jboss-transaction-api_1.2_spec jar 1.1.1.Final
javax.inject : javax.inject jar 1
javax.batch : javax.batch-api jar 1.0
javax.enterprise : cdi-api jar 2.0

Project Modules

There are no modules declared in this project.

Hibernate Search

Maven Central Build Status Coverage Status Quality gate Language Grade: Java

Description

Hibernate Search automatically extracts data from Hibernate ORM entities to push it to local Apache Lucene indexes or remote Elasticsearch indexes.

It features:

For example, map your entities like this:

@Entity
// This entity is mapped to an index
@Indexed
public class Book {

    // The entity ID is the document ID
    @Id
    @GeneratedValue
    private Integer id;

    // This property is mapped to a document field
    @FullTextField
    private String title;

    @ManyToMany
    // Authors will be embedded in Book documents
    @IndexedEmbedded
    private Set<Author> authors = new HashSet<>();

    // Getters and setters
    // ...
}

@Entity
public class Author {

    @Id
    @GeneratedValue
    private Integer id;

    // This property is mapped to a document field
    @FullTextField
    private String name;

    @ManyToMany(mappedBy = "authors")
    private Set<Book> books = new HashSet<>();

    // Getters and setters
    // ...
}

Index existing data like this:

SearchSession searchSession = Search.session( entityManager );
MassIndexer indexer = searchSession.massIndexer( Book.class );
indexer.startAndWait();

Automatic indexing does not require any change to code based on JPA or Hibernate ORM:

Author author = new Author();
author.setName( "Isaac Asimov" );

Book book = new Book();
book.setTitle( "The Caves Of Steel" );
book.getAuthors().add( author );
author.getBooks().add( book );

entityManager.persist( author );
entityManager.persist( book );

And search like this:

SearchResult<Book> result = Search.session( entityManager )
        .search( Book.class )
        .where( f -> f.match()
                .fields( "title", "authors.name" )
                .matching( "Isaac" ) )
        .fetch( 20 );

List<Book> hits = result.hits();
long totalHitCount = result.total().hitCount();

License

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

Getting started

A getting started guide is available in the reference documentation.

Fore more information, refer to the Hibernate Search website:

For offline use, distribution bundles downloaded from SourceForge also include the reference documentation for the downloaded version in PDF and HTML format.

Contact

Latest Documentation

See http://hibernate.org/search/documentation/.

Bug Reports

See the HSEARCH project on the Hibernate JIRA instance: https://hibernate.atlassian.net/browse/HSEARCH.

Community Support

See http://hibernate.org/community/.

Contributing

New contributors are always welcome.

See CONTRIBUTING.md to get started.

The contribution guide also includes build instructions.

org.hibernate.search

Hibernate

Versions

Version
6.0.0.Alpha2
6.0.0.Alpha1