All Projects → hibernate → Hibernate Search

hibernate / Hibernate Search

Licence: other
Hibernate Search: full-text search for domain model

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to Hibernate Search

Jplusone
Tool for automatic detection and asserting "N+1 SELECT problem" occurences in JPA based Spring Boot Java applications and finding origin of JPA issued SQL statements in general
Stars: ✭ 91 (-76.18%)
Mutual labels:  orm, hibernate
Hibernate Reactive
A reactive API for Hibernate ORM, supporting non-blocking database drivers and a reactive style of interaction with the database.
Stars: ✭ 167 (-56.28%)
Mutual labels:  orm, hibernate
Elasticsearch
Use SQL statements to query elasticsearch
Stars: ✭ 98 (-74.35%)
Mutual labels:  orm, elasticsearch
Query Validator
Compile time validation for HQL and JPQL queries in Java code
Stars: ✭ 70 (-81.68%)
Mutual labels:  orm, hibernate
Jeddict
Jakarta EE 8 (Java EE) & MicroProfile 3.2 application generator and modeler
Stars: ✭ 358 (-6.28%)
Mutual labels:  orm, hibernate
Ebean
Ebean ORM
Stars: ✭ 1,172 (+206.81%)
Mutual labels:  orm, elasticsearch
Express Cassandra
Cassandra ORM/ODM/OGM for Node.js with optional support for Elassandra & JanusGraph
Stars: ✭ 163 (-57.33%)
Mutual labels:  orm, elasticsearch
Hibernate Orm
Hibernate's core Object/Relational Mapping functionality
Stars: ✭ 4,806 (+1158.12%)
Mutual labels:  orm, hibernate
Elasticsearch
The missing elasticsearch ORM for Laravel, Lumen and Native php applications
Stars: ✭ 375 (-1.83%)
Mutual labels:  orm, elasticsearch
Quickperf
QuickPerf is a testing library for Java to quickly evaluate and improve some performance-related properties
Stars: ✭ 231 (-39.53%)
Mutual labels:  orm, hibernate
Hunt Entity
An object-relational mapping (ORM) framework for D language (Similar to JPA / Doctrine), support PostgreSQL and MySQL.
Stars: ✭ 51 (-86.65%)
Mutual labels:  orm, hibernate
Spring Boot Enterprise Application Development
Spring Boot Enterprise Application Development.《Spring Boot 企业级应用开发实战》
Stars: ✭ 261 (-31.68%)
Mutual labels:  hibernate, elasticsearch
Hibernate Basics
Samples for "Hibernate, how the magic is really done?" talk
Stars: ✭ 44 (-88.48%)
Mutual labels:  orm, hibernate
Hibernate Performance
Samples for "Hibernate performance tuning" talk
Stars: ✭ 87 (-77.23%)
Mutual labels:  orm, hibernate
Php Es Mapper
An elasticsearch simple mapping ORM for php
Stars: ✭ 25 (-93.46%)
Mutual labels:  orm, elasticsearch
Spring Kotlin Exposed
playground for spring-boot 2.*, kotlin , jetbrains-exposed, postgres, jsonb, flyway, docker
Stars: ✭ 106 (-72.25%)
Mutual labels:  orm, hibernate
Jblog
🔱一个简洁漂亮的java blog 👉基于Spring /MVC+ Hibernate + MySQL + Bootstrap + freemarker. 实现 🌈
Stars: ✭ 187 (-51.05%)
Mutual labels:  hibernate, lucene
Jooq
jOOQ is the best way to write SQL in Java
Stars: ✭ 4,695 (+1129.06%)
Mutual labels:  orm, hibernate
Grails Data Mapping
GORM - Groovy Object Mapping
Stars: ✭ 194 (-49.21%)
Mutual labels:  orm, hibernate
gorm-hibernate5
GORM for Hibernate 5
Stars: ✭ 51 (-86.65%)
Mutual labels:  orm, hibernate

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.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].