Hibernate Search OSGi Karaf Integration Tests

Hibernate Search integration tests for OSGi using Apache Karaf

License

License

Categories

Categories

Hibernate Data ORM Search Business Logic Libraries
GroupId

GroupId

org.hibernate
ArtifactId

ArtifactId

hibernate-search-integrationtest-osgi
Last Version

Last Version

5.0.0.Alpha6
Release Date

Release Date

Type

Type

jar
Description

Description

Hibernate Search OSGi Karaf Integration Tests
Hibernate Search integration tests for OSGi using Apache Karaf
Project URL

Project URL

http://search.hibernate.org/hibernate-search-integrationtest-osgi
Project Organization

Project Organization

Hibernate

Download hibernate-search-integrationtest-osgi

How to add to project

<!-- https://jarcasting.com/artifacts/org.hibernate/hibernate-search-integrationtest-osgi/ -->
<dependency>
    <groupId>org.hibernate</groupId>
    <artifactId>hibernate-search-integrationtest-osgi</artifactId>
    <version>5.0.0.Alpha6</version>
</dependency>
// https://jarcasting.com/artifacts/org.hibernate/hibernate-search-integrationtest-osgi/
implementation 'org.hibernate:hibernate-search-integrationtest-osgi:5.0.0.Alpha6'
// https://jarcasting.com/artifacts/org.hibernate/hibernate-search-integrationtest-osgi/
implementation ("org.hibernate:hibernate-search-integrationtest-osgi:5.0.0.Alpha6")
'org.hibernate:hibernate-search-integrationtest-osgi:jar:5.0.0.Alpha6'
<dependency org="org.hibernate" name="hibernate-search-integrationtest-osgi" rev="5.0.0.Alpha6">
  <artifact name="hibernate-search-integrationtest-osgi" type="jar" />
</dependency>
@Grapes(
@Grab(group='org.hibernate', module='hibernate-search-integrationtest-osgi', version='5.0.0.Alpha6')
)
libraryDependencies += "org.hibernate" % "hibernate-search-integrationtest-osgi" % "5.0.0.Alpha6"
[org.hibernate/hibernate-search-integrationtest-osgi "5.0.0.Alpha6"]

Dependencies

compile (2)

Group / Artifact Type Version
org.hibernate.javax.persistence : hibernate-jpa-2.1-api jar 1.0.0.Final
org.apache.karaf.features : standard xml 3.0.1

test (12)

Group / Artifact Type Version
org.hibernate : hibernate-osgi jar 4.3.6.Final
org.hibernate : hibernate-search-orm jar 5.0.0.Alpha6
org.hibernate : hibernate-search-integrationtest-osgi-features pom 5.0.0.Alpha6
org.ops4j.pax.exam : pax-exam-container-karaf jar 4.0.0
org.apache.karaf : apache-karaf tar.gz 3.0.1
org.ops4j.pax.exam : pax-exam-junit4 jar 4.0.0
org.ops4j.pax.exam : pax-exam jar 4.0.0
org.ops4j.pax.url : pax-url-aether jar 1.6.0
javax.inject : javax.inject jar 1
junit : junit jar 4.11
org.slf4j : slf4j-api jar 1.6.4
org.slf4j : slf4j-log4j12 jar 1.6.4

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

Hibernate

Versions

Version
5.0.0.Alpha6
5.0.0.Alpha5
5.0.0.Alpha4