hibernate-search
by
hibernate

Description: Hibernate Search: full-text search for domain model

View on GitHub ↗

Summary Information

Updated 1 hour ago
Added to GitGenius on February 27th, 2022
Created on October 15th, 2010
Open Issues & Pull Requests: 7 (+0)
Number of forks: 245
Total Stargazers: 534 (+0)
Total Subscribers: 30 (+0)

Issue Activity (beta)

Open issues: 0
New in 7 days: 0
Closed in 7 days: 0
Avg open age: N/A days
Stale 30+ days: 0
Stale 90+ days: 0

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

No label distribution available yet.

Most active issues this week

No issue events were indexed in the last 7 days.

Detailed Description

Hibernate Search is a Java library that integrates full-text search capabilities with Hibernate ORM by automatically extracting data from domain model entities and indexing it in search backends. The project supports both local Apache Lucene indexes and remote Elasticsearch or OpenSearch instances, providing developers with a unified approach to adding search functionality to JPA and Hibernate ORM applications.

The core functionality centers on declarative mapping, which allows developers to specify which entity properties should be indexed through either Java annotations or a programmatic API. This declarative approach eliminates the need for manual index management code scattered throughout the application. The library handles the complexity of keeping indexes synchronized with the database through listener-triggered indexing, which automatically updates search indexes whenever entities are modified through a Hibernate ORM session. This synchronization occurs without requiring changes to existing JPA or Hibernate ORM code, making integration seamless for existing applications.

For applications with pre-existing data, Hibernate Search provides on-demand mass indexing capabilities that can initialize indexes with all entities currently stored in the database. This feature is essential for migrating legacy systems to use full-text search or rebuilding indexes after schema changes.

The Search DSL represents a significant feature that simplifies query construction and result retrieval. Rather than writing raw Lucene or Elasticsearch queries, developers can use a type-safe, fluent API to build complex search queries and receive results as Hibernate ORM entities, maintaining consistency with the rest of the application's data access patterns. The DSL supports numerous predicates and sort options, enabling sophisticated search behavior including spatial queries for geographic data, query projections that return specific fields instead of full entities, and aggregations for analytical queries.

Additional capabilities include configurable text analyzers for customizing how text is processed during indexing and searching, support for bridges that enable advanced customization of the mapping layer, and various other features documented in the project's comprehensive reference documentation.

The project is distributed under the Apache License 2.0, with a note that versions 7.2.0.Alpha1 and earlier used different licensing terms. The repository maintains detailed getting started guides and version-specific documentation on the Hibernate Search website, along with a compatibility matrix to help developers select appropriate versions for their environments.

The project accepts contributions from the community and provides a contribution guide with build instructions. Bug reports are tracked through the HSEARCH project on the Hibernate JIRA instance, and community support is available through official Hibernate channels. The codebase is written in Java and is actively maintained as part of the broader Hibernate ecosystem.

hibernate-search
by
hibernatehibernate/hibernate-search

Repository Details

Fetching additional details & charts...