Skip to content

Commit 7f11f23

Browse files
committed
DATAES-7 : Migrate to the latest version of Elasticsearch 0.90.0
1 parent b943dc2 commit 7f11f23

File tree

5 files changed

+28
-24
lines changed

5 files changed

+28
-24
lines changed

pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323

2424
<commonscollections>3.2.1</commonscollections>
2525
<commonslang>2.6</commonslang>
26-
<elasticsearch>0.20.5</elasticsearch>
26+
<elasticsearch>0.90.0</elasticsearch>
2727
<jackson>1.9.2</jackson>
2828
<springdata.commons>1.6.0.BUILD-SNAPSHOT</springdata.commons>
2929

src/main/java/org/springframework/data/elasticsearch/core/ElasticsearchTemplate.java

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -107,7 +107,7 @@ public <T> boolean putMapping(Class<T> clazz) {
107107

108108
try {
109109
XContentBuilder xContentBuilder = buildMapping(clazz, persistentEntity.getIndexType(), persistentEntity.getIdProperty().getFieldName());
110-
return requestBuilder.setSource(xContentBuilder).execute().actionGet().acknowledged();
110+
return requestBuilder.setSource(xContentBuilder).execute().actionGet().isAcknowledged();
111111
} catch (Exception e) {
112112
throw new ElasticsearchException("Failed to build mapping for " + clazz.getSimpleName() , e);
113113
}
@@ -199,7 +199,7 @@ public <T> long count(SearchQuery query, Class<T> clazz) {
199199
if(query.getQuery() != null){
200200
countRequestBuilder.setQuery(query.getQuery());
201201
}
202-
return countRequestBuilder.execute().actionGet().count();
202+
return countRequestBuilder.execute().actionGet().getCount();
203203
}
204204

205205
@Override
@@ -218,9 +218,9 @@ public void bulkIndex(List<IndexQuery> queries) {
218218
BulkResponse bulkResponse = bulkRequest.execute().actionGet();
219219
if (bulkResponse.hasFailures()) {
220220
Map<String, String> failedDocuments = new HashMap<String, String>();
221-
for (BulkItemResponse item : bulkResponse.items()) {
222-
if (item.failed())
223-
failedDocuments.put(item.getId(), item.failureMessage());
221+
for (BulkItemResponse item : bulkResponse.getItems()) {
222+
if (item.isFailed())
223+
failedDocuments.put(item.getId(), item.getFailureMessage());
224224
}
225225
throw new ElasticsearchException("Bulk indexing has failures. Use ElasticsearchException.getFailedDocuments() for detailed messages [" + failedDocuments+"]", failedDocuments);
226226
}
@@ -235,7 +235,7 @@ public <T> boolean indexExists(Class<T> clazz){
235235
public <T> boolean deleteIndex(Class<T> clazz){
236236
String indexName = getPersistentEntityFor(clazz).getIndexName();
237237
if(indexExists(indexName)){
238-
return client.admin().indices().delete(new DeleteIndexRequest(indexName)).actionGet().acknowledged();
238+
return client.admin().indices().delete(new DeleteIndexRequest(indexName)).actionGet().isAcknowledged();
239239
}
240240
return false;
241241
}
@@ -376,13 +376,13 @@ private <T> boolean createIndexIfNotCreated(Class<T> clazz) {
376376
private boolean indexExists(String indexName) {
377377
return client.admin()
378378
.indices()
379-
.exists(indicesExistsRequest(indexName)).actionGet().exists();
379+
.exists(indicesExistsRequest(indexName)).actionGet().isExists();
380380
}
381381

382382
private <T> boolean createIndexWithSettings(Class<T> clazz) {
383383
ElasticsearchPersistentEntity<T> persistentEntity = getPersistentEntityFor(clazz);
384384
return client.admin().indices().create(Requests.createIndexRequest(persistentEntity.getIndexName()).
385-
settings(getSettings(persistentEntity))).actionGet().acknowledged();
385+
settings(getSettings(persistentEntity))).actionGet().isAcknowledged();
386386
}
387387

388388
private <T> Map getSettings(ElasticsearchPersistentEntity<T> persistentEntity) {

src/main/java/org/springframework/data/elasticsearch/repository/ElasticsearchRepository.java

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,5 @@ public interface ElasticsearchRepository<T, ID extends Serializable> extends Ela
4141

4242
Page<T> search(SearchQuery searchQuery);
4343

44-
Page<T> searchSimilar(T entity);
45-
46-
Page<T> searchSimilar(T entity, Pageable pageable);
44+
Page<T> searchSimilar(T entity, SearchQuery searchQuery);
4745
}

src/main/java/org/springframework/data/elasticsearch/repository/support/AbstractElasticsearchRepository.java

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -200,17 +200,19 @@ public Page<T> search(SearchQuery query){
200200
}
201201

202202
@Override
203-
public Page<T> searchSimilar(T entity) {
204-
return searchSimilar(entity, DEFAULT_PAGE);
205-
}
206-
207-
@Override
208-
public Page<T> searchSimilar(T entity, Pageable pageable) {
203+
public Page<T> searchSimilar(T entity, SearchQuery searchQuery) {
209204
Assert.notNull(entity, "Cannot search similar records for 'null'.");
210-
Assert.notNull(entity, "Pageable cannot be 'null'");
205+
Assert.notNull(searchQuery.getFields(), "Fields cannot be 'null'");
211206
MoreLikeThisQuery query = new MoreLikeThisQuery();
212207
query.setId(stringIdRepresentation(extractIdFromBean(entity)));
213-
query.setPageable(pageable);
208+
query.setPageable(searchQuery.getPageable() != null ? searchQuery.getPageable() : DEFAULT_PAGE);
209+
query.addFields(searchQuery.getFields().toArray(new String[searchQuery.getFields().size()]));
210+
if(!searchQuery.getIndices().isEmpty()) {
211+
query.addSearchIndices(searchQuery.getIndices().toArray(new String[searchQuery.getIndices().size()]));
212+
}
213+
if(!searchQuery.getTypes().isEmpty()){
214+
query.addSearchTypes(searchQuery.getTypes().toArray(new String[searchQuery.getTypes().size()]));
215+
}
214216
return elasticsearchOperations.moreLikeThis(query, getEntityClass());
215217
}
216218

@@ -296,14 +298,14 @@ public final void setElasticsearchOperations(ElasticsearchOperations elasticsear
296298
this.elasticsearchOperations = elasticsearchOperations;
297299
}
298300

299-
301+
300302
protected ID extractIdFromBean(T entity) {
301303
if (entityInformation != null) {
302304
return entityInformation.getId(entity);
303305
}
304306
return null;
305307
}
306-
308+
307309
protected abstract String stringIdRepresentation(ID id);
308310

309311
private Long extractVersionFromBean(T entity){

src/test/java/org/springframework/data/elasticsearch/repository/support/SimpleElasticsearchRepositoryTests.java

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -387,7 +387,6 @@ public void shouldSortByGivenField(){
387387
assertThat(sampleEntities,is(notNullValue()));
388388
}
389389

390-
391390
@Test
392391
public void shouldReturnSimilarEntities(){
393392
//given
@@ -403,7 +402,11 @@ public void shouldReturnSimilarEntities(){
403402
repository.save(sampleEntities);
404403

405404
//when
406-
Page<SampleEntity> results = repository.searchSimilar(sampleEntities.get(0));
405+
SearchQuery searchQuery = new NativeSearchQueryBuilder()
406+
.withPageable(new PageRequest(0, 5))
407+
.withFields("message")
408+
.build();
409+
Page<SampleEntity> results = repository.searchSimilar(sampleEntities.get(0), searchQuery);
407410

408411
//then
409412
assertThat(results.getTotalElements(), is(greaterThanOrEqualTo(1L)));
@@ -416,6 +419,7 @@ private static List<SampleEntity> createSampleEntitiesWithMessage(String message
416419
SampleEntity sampleEntity = new SampleEntity();
417420
sampleEntity.setId(documentId);
418421
sampleEntity.setMessage(message);
422+
sampleEntity.setRate(2);
419423
sampleEntity.setVersion(System.currentTimeMillis());
420424
sampleEntities.add(sampleEntity);
421425
}

0 commit comments

Comments
 (0)