Skip to content

Commit b7cafb2

Browse files
committed
[HSEARCH] hsearch-elasticsearch-wikipedia: make it easier to test the app with a small subset of data
1 parent ff55420 commit b7cafb2

File tree

3 files changed

+24
-13
lines changed

3 files changed

+24
-13
lines changed

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

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -41,12 +41,18 @@ public SearchResult<Page> search(String term, int offset, int limit) {
4141
FullTextEntityManager fullTextEm = Search.getFullTextEntityManager( getEm() );
4242
QueryBuilder queryBuilder = fullTextEm.getSearchFactory().buildQueryBuilder()
4343
.forEntity( Page.class ).get();
44-
45-
Query luceneQuery = queryBuilder.keyword()
46-
.onField( "title" ).boostedTo( 2.0f )
47-
.andField( "content" )
48-
.matching( term )
49-
.createQuery();
44+
45+
Query luceneQuery;
46+
if ( term == null || term.isEmpty() ) {
47+
luceneQuery = queryBuilder.all().createQuery();
48+
}
49+
else {
50+
luceneQuery = queryBuilder.keyword()
51+
.onField( "title" ).boostedTo( 2.0f )
52+
.andField( "content" )
53+
.matching( term )
54+
.createQuery();
55+
}
5056

5157
Sort scoreSort = queryBuilder.sort().byScore().createSort();
5258

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

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,11 @@
44
import javax.persistence.PersistenceContext;
55
import javax.ws.rs.POST;
66
import javax.ws.rs.Path;
7+
import javax.ws.rs.QueryParam;
78
import javax.ws.rs.core.Response;
89

910
import org.hibernate.CacheMode;
11+
import org.hibernate.search.MassIndexer;
1012
import org.hibernate.search.demos.wikipedia.data.Page;
1113
import org.hibernate.search.demos.wikipedia.data.User;
1214
import org.hibernate.search.jpa.FullTextEntityManager;
@@ -24,16 +26,22 @@ public class AdminEndpoint {
2426

2527
@POST
2628
@Path("/reindex")
27-
public Response reindex() {
29+
public Response reindex(@QueryParam("limit") Long limit) {
2830
FullTextEntityManager fullTextEm = Search.getFullTextEntityManager( em );
29-
fullTextEm.createIndexer( Page.class, User.class )
31+
32+
MassIndexer indexer = fullTextEm.createIndexer( Page.class, User.class )
3033
.purgeAllOnStart( true )
3134
.typesToIndexInParallel( 2 )
3235
.batchSizeToLoadObjects( 25 )
3336
.idFetchSize( 150 )
3437
.threadsToLoadObjects( 10 )
35-
.cacheMode( CacheMode.IGNORE ) // Cache is likely to do more harm than good in our case (very few relations)
36-
.start();
38+
.cacheMode( CacheMode.IGNORE ); // Cache is likely to do more harm than good in our case (very few relations)
39+
if ( limit != null ) {
40+
indexer.limitIndexedObjectsTo( limit );
41+
}
42+
43+
indexer.start();
44+
3745
return Response.accepted().build();
3846
}
3947

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

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -77,9 +77,6 @@ public PageOutputDto getById(@PathParam("id") Long id) {
7777
@GET
7878
@Path("/search")
7979
public SearchResult<PageOutputDto> search(@QueryParam("q") String queryString, @QueryParam("p") Integer page) {
80-
if ( queryString == null || queryString.isEmpty() ) {
81-
return null;
82-
}
8380
if ( page == null ) {
8481
page = 0;
8582
}

0 commit comments

Comments
 (0)