Skip to content

Commit db0262b

Browse files
committed
[HSEARCH] hsearch-elasticsearch-wikipedia: Upgrade to Hibernate Search 6.0.0.Alpha3
1 parent fcaf5ca commit db0262b

File tree

6 files changed

+23
-20
lines changed

6 files changed

+23
-20
lines changed

hibernate-search/hsearch-elasticsearch-wikipedia/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626
<apt.version>1.1.3</apt.version>
2727
<!-- Override the version of Hibernate ORM in Spring Boot -->
2828
<hibernate.version>5.4.1.Final</hibernate.version>
29-
<hibernate.search.version>6.0.0.Alpha2</hibernate.search.version>
29+
<hibernate.search.version>6.0.0.Alpha3</hibernate.search.version>
3030
</properties>
3131

3232
<dependencies>

hibernate-search/hsearch-elasticsearch-wikipedia/src/main/java/org/hibernate/search/demos/wikipedia/data/dao/PageDao.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,6 @@ public interface PageDao {
1313

1414
Page getById(Long id);
1515

16-
SearchResult<Page> search(String term, PageSort sort, int offset, int limit);
16+
SearchResult<Page> search(String term, PageSort sort, int limit, int offset);
1717

1818
}

hibernate-search/hsearch-elasticsearch-wikipedia/src/main/java/org/hibernate/search/demos/wikipedia/data/dao/hibernate/HibernatePageDaoImpl.java

Lines changed: 9 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@
55
import org.hibernate.search.demos.wikipedia.data.dao.PageSort;
66
import org.hibernate.search.demos.wikipedia.util.SearchResult;
77
import org.hibernate.search.mapper.orm.Search;
8-
import org.hibernate.search.mapper.orm.jpa.FullTextEntityManager;
9-
import org.hibernate.search.mapper.orm.jpa.FullTextQuery;
8+
import org.hibernate.search.mapper.orm.search.query.SearchQuery;
9+
import org.hibernate.search.mapper.orm.session.SearchSession;
1010

1111
import org.springframework.stereotype.Repository;
1212

@@ -35,22 +35,20 @@ public Page getById(Long id) {
3535
}
3636

3737
@Override
38-
@SuppressWarnings("unchecked")
39-
public SearchResult<Page> search(String term, PageSort sort, int offset, int limit) {
40-
FullTextEntityManager fullTextEm = Search.getFullTextEntityManager( getEm() );
38+
public SearchResult<Page> search(String term, PageSort sort, int limit, int offset) {
39+
SearchSession searchSession = Search.getSearchSession( getEm() );
4140

42-
FullTextQuery query = fullTextEm.search( Page.class ).query()
41+
SearchQuery<Page> query = searchSession.search( Page.class )
4342
.asEntity()
4443
.predicate( f -> {
4544
if ( term == null || term.isEmpty() ) {
46-
return f.matchAll().toPredicate();
45+
return f.matchAll();
4746
}
4847
else {
4948
return f.match()
5049
.onField( "title" ).boostedTo( 2.0f )
5150
.orField( "content" )
52-
.matching( term )
53-
.toPredicate();
51+
.matching( term );
5452
}
5553
} )
5654
.sort( f -> {
@@ -62,12 +60,9 @@ public SearchResult<Page> search(String term, PageSort sort, int offset, int lim
6260
f.byScore();
6361
}
6462
} )
65-
.build();
63+
.toQuery();
6664

67-
query.setFirstResult( offset )
68-
.setMaxResults( limit );
69-
70-
return new SearchResult<>( query.getResultSize(), query.getResultList() );
65+
return new SearchResult<>( query.fetch( limit, offset ) );
7166
}
7267

7368
}

hibernate-search/hsearch-elasticsearch-wikipedia/src/main/java/org/hibernate/search/demos/wikipedia/endpoint/AdminEndpoint.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,8 @@
1111
import org.hibernate.search.demos.wikipedia.data.Page;
1212
import org.hibernate.search.demos.wikipedia.data.User;
1313
import org.hibernate.search.mapper.orm.Search;
14-
import org.hibernate.search.mapper.orm.jpa.FullTextEntityManager;
1514
import org.hibernate.search.mapper.orm.massindexing.MassIndexer;
15+
import org.hibernate.search.mapper.orm.session.SearchSession;
1616

1717
import org.springframework.stereotype.Service;
1818
import org.springframework.transaction.annotation.Transactional;
@@ -28,9 +28,9 @@ public class AdminEndpoint {
2828
@POST
2929
@Path("/reindex")
3030
public Response reindex(@QueryParam("limit") Long limit) {
31-
FullTextEntityManager fullTextEm = Search.getFullTextEntityManager( em );
31+
SearchSession searchSession = Search.getSearchSession( em );
3232

33-
MassIndexer indexer = fullTextEm.createIndexer( Page.class, User.class )
33+
MassIndexer indexer = searchSession.createIndexer( Page.class, User.class )
3434
.purgeAllOnStart( true )
3535
.typesToIndexInParallel( 2 )
3636
.batchSizeToLoadObjects( 25 )

hibernate-search/hsearch-elasticsearch-wikipedia/src/main/java/org/hibernate/search/demos/wikipedia/endpoint/PageEndpoint.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@ public SearchResult<PageOutputDto> search(@QueryParam("q") String queryString, @
8181
if ( page == null ) {
8282
page = 0;
8383
}
84-
SearchResult<Page> searchResult = dao.search( queryString, sort, page * ITEMS_PER_PAGE, ITEMS_PER_PAGE );
84+
SearchResult<Page> searchResult = dao.search( queryString, sort, ITEMS_PER_PAGE, page * ITEMS_PER_PAGE );
8585

8686
return new SearchResult<>(
8787
searchResult.getTotalCount(),

hibernate-search/hsearch-elasticsearch-wikipedia/src/main/java/org/hibernate/search/demos/wikipedia/util/SearchResult.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,14 @@ public class SearchResult<T> {
88

99
private List<T> hits;
1010

11+
/**
12+
* Wrap a Hibernate Search result to avoid exposing Hibernate Search to the rest of the application.
13+
* @param hibernateSearchSearchResult The Hibernate Search result.
14+
*/
15+
public SearchResult(org.hibernate.search.mapper.orm.search.query.SearchResult<T> hibernateSearchSearchResult) {
16+
this( hibernateSearchSearchResult.getTotalHitCount(), hibernateSearchSearchResult.getHits() );
17+
}
18+
1119
public SearchResult(long totalCount, List<T> hits) {
1220
super();
1321
this.totalCount = totalCount;

0 commit comments

Comments
 (0)