Java-6316: Migrated to the New Elastic Search Java Client (#14483)
* Java-6316: Migrated to the New Elastic Search Java Client * Update the ElasticSearch Client Library to 8.9.0
This commit is contained in:
@@ -34,6 +34,21 @@
|
||||
<artifactId>fastjson</artifactId>
|
||||
<version>${fastjson.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.elasticsearch.client</groupId>
|
||||
<artifactId>elasticsearch-rest-high-level-client</artifactId>
|
||||
<version>7.17.11</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.fasterxml.jackson.core</groupId>
|
||||
<artifactId>jackson-databind</artifactId>
|
||||
<version>${jackson.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.projectlombok</groupId>
|
||||
<artifactId>lombok</artifactId>
|
||||
<version>1.18.28</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.locationtech.spatial4j</groupId>
|
||||
<artifactId>spatial4j</artifactId>
|
||||
@@ -59,11 +74,12 @@
|
||||
</dependencies>
|
||||
|
||||
<properties>
|
||||
<spring-data-elasticsearch.version>4.0.0.RELEASE</spring-data-elasticsearch.version>
|
||||
<elasticsearch.version>7.6.2</elasticsearch.version>
|
||||
<fastjson.version>1.2.47</fastjson.version>
|
||||
<spatial4j.version>0.7</spatial4j.version>
|
||||
<jts.version>1.15.0</jts.version>
|
||||
<spring-data-elasticsearch.version>5.1.2</spring-data-elasticsearch.version>
|
||||
<elasticsearch.version>8.9.0</elasticsearch.version>
|
||||
<fastjson.version>2.0.37</fastjson.version>
|
||||
<spatial4j.version>0.8</spatial4j.version>
|
||||
<jts.version>1.18.2</jts.version>
|
||||
<jackson.version>2.15.2</jackson.version>
|
||||
</properties>
|
||||
|
||||
</project>
|
||||
+7
-39
@@ -1,7 +1,14 @@
|
||||
package com.baeldung.elasticsearch;
|
||||
|
||||
import lombok.*;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
@AllArgsConstructor
|
||||
@Getter
|
||||
@ToString
|
||||
@EqualsAndHashCode
|
||||
@NoArgsConstructor
|
||||
public class Person {
|
||||
|
||||
private int age;
|
||||
@@ -9,43 +16,4 @@ public class Person {
|
||||
private String fullName;
|
||||
|
||||
private Date dateOfBirth;
|
||||
|
||||
public Person() {
|
||||
}
|
||||
|
||||
Person(int age, String fullName, Date dateOfBirth) {
|
||||
super();
|
||||
this.age = age;
|
||||
this.fullName = fullName;
|
||||
this.dateOfBirth = dateOfBirth;
|
||||
}
|
||||
|
||||
public int getAge() {
|
||||
return age;
|
||||
}
|
||||
|
||||
public void setAge(int age) {
|
||||
this.age = age;
|
||||
}
|
||||
|
||||
public String getFullName() {
|
||||
return fullName;
|
||||
}
|
||||
|
||||
public void setFullName(String fullName) {
|
||||
this.fullName = fullName;
|
||||
}
|
||||
|
||||
public Date getDateOfBirth() {
|
||||
return dateOfBirth;
|
||||
}
|
||||
|
||||
public void setDateOfBirth(Date dateOfBirth) {
|
||||
this.dateOfBirth = dateOfBirth;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "Person [age=" + age + ", fullName=" + fullName + ", dateOfBirth=" + dateOfBirth + "]";
|
||||
}
|
||||
}
|
||||
|
||||
+2
-2
@@ -5,8 +5,8 @@ import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.ComponentScan;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.data.elasticsearch.client.ClientConfiguration;
|
||||
import org.springframework.data.elasticsearch.client.RestClients;
|
||||
import org.springframework.data.elasticsearch.config.AbstractElasticsearchConfiguration;
|
||||
import org.springframework.data.elasticsearch.client.erhlc.AbstractElasticsearchConfiguration;
|
||||
import org.springframework.data.elasticsearch.client.erhlc.RestClients;
|
||||
import org.springframework.data.elasticsearch.repository.config.EnableElasticsearchRepositories;
|
||||
|
||||
@Configuration
|
||||
|
||||
+1
-1
@@ -13,7 +13,7 @@ import org.springframework.data.elasticsearch.annotations.Field;
|
||||
import org.springframework.data.elasticsearch.annotations.InnerField;
|
||||
import org.springframework.data.elasticsearch.annotations.MultiField;
|
||||
|
||||
@Document(indexName = "blog", type = "article")
|
||||
@Document(indexName = "blog"/*, type = "article"*/)
|
||||
public class Article {
|
||||
|
||||
@Id
|
||||
|
||||
+138
-137
File diff suppressed because it is too large
Load Diff
+33
-34
@@ -21,14 +21,13 @@ import org.elasticsearch.client.RestHighLevelClient;
|
||||
import org.elasticsearch.client.indices.CreateIndexRequest;
|
||||
import org.elasticsearch.common.geo.GeoPoint;
|
||||
import org.elasticsearch.common.geo.ShapeRelation;
|
||||
import org.elasticsearch.common.geo.builders.EnvelopeBuilder;
|
||||
import org.elasticsearch.common.unit.DistanceUnit;
|
||||
import org.elasticsearch.common.xcontent.XContentType;
|
||||
import org.elasticsearch.index.query.GeoShapeQueryBuilder;
|
||||
import org.elasticsearch.index.query.QueryBuilder;
|
||||
import org.elasticsearch.index.query.QueryBuilders;
|
||||
import org.elasticsearch.search.SearchHit;
|
||||
import org.elasticsearch.search.builder.SearchSourceBuilder;
|
||||
import org.elasticsearch.xcontent.XContentType;
|
||||
import org.junit.After;
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
@@ -64,38 +63,38 @@ public class GeoQueriesManualTest {
|
||||
.create(req, RequestOptions.DEFAULT);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void givenGeoShapeData_whenExecutedGeoShapeQuery_thenResultNonEmpty() throws IOException {
|
||||
String jsonObject = "{\"name\":\"Agra\",\"region\":{\"type\":\"envelope\",\"coordinates\":[[75,30.2],[80.1, 25]]}}";
|
||||
IndexRequest indexRequest = new IndexRequest(WONDERS_OF_WORLD);
|
||||
indexRequest.source(jsonObject, XContentType.JSON);
|
||||
IndexResponse response = client.index(indexRequest, RequestOptions.DEFAULT);
|
||||
|
||||
String tajMahalId = response.getId();
|
||||
|
||||
RefreshRequest refreshRequest = new RefreshRequest(WONDERS_OF_WORLD);
|
||||
client.indices()
|
||||
.refresh(refreshRequest, RequestOptions.DEFAULT);
|
||||
|
||||
Coordinate topLeft = new Coordinate(74, 31.2);
|
||||
Coordinate bottomRight = new Coordinate(81.1, 24);
|
||||
|
||||
GeoShapeQueryBuilder qb = QueryBuilders.geoShapeQuery("region", new EnvelopeBuilder(topLeft, bottomRight).buildGeometry());
|
||||
qb.relation(ShapeRelation.INTERSECTS);
|
||||
|
||||
SearchSourceBuilder source = new SearchSourceBuilder().query(qb);
|
||||
SearchRequest searchRequest = new SearchRequest(WONDERS_OF_WORLD);
|
||||
searchRequest.source(source);
|
||||
|
||||
SearchResponse searchResponse = client.search(searchRequest, RequestOptions.DEFAULT);
|
||||
|
||||
List<String> ids = Arrays.stream(searchResponse.getHits()
|
||||
.getHits())
|
||||
.map(SearchHit::getId)
|
||||
.collect(Collectors.toList());
|
||||
|
||||
assertTrue(ids.contains(tajMahalId));
|
||||
}
|
||||
// @Test
|
||||
// public void givenGeoShapeData_whenExecutedGeoShapeQuery_thenResultNonEmpty() throws IOException {
|
||||
// String jsonObject = "{\"name\":\"Agra\",\"region\":{\"type\":\"envelope\",\"coordinates\":[[75,30.2],[80.1, 25]]}}";
|
||||
// IndexRequest indexRequest = new IndexRequest(WONDERS_OF_WORLD);
|
||||
// indexRequest.source(jsonObject, XContentType.JSON);
|
||||
// IndexResponse response = client.index(indexRequest, RequestOptions.DEFAULT);
|
||||
//
|
||||
// String tajMahalId = response.getId();
|
||||
//
|
||||
// RefreshRequest refreshRequest = new RefreshRequest(WONDERS_OF_WORLD);
|
||||
// client.indices()
|
||||
// .refresh(refreshRequest, RequestOptions.DEFAULT);
|
||||
//
|
||||
// Coordinate topLeft = new Coordinate(74, 31.2);
|
||||
// Coordinate bottomRight = new Coordinate(81.1, 24);
|
||||
//
|
||||
// GeoShapeQueryBuilder qb = QueryBuilders.geoShapeQuery("region", new EnvelopeBuilder(topLeft, bottomRight).buildGeometry());
|
||||
// qb.relation(ShapeRelation.INTERSECTS);
|
||||
//
|
||||
// SearchSourceBuilder source = new SearchSourceBuilder().query(qb);
|
||||
// SearchRequest searchRequest = new SearchRequest(WONDERS_OF_WORLD);
|
||||
// searchRequest.source(source);
|
||||
//
|
||||
// SearchResponse searchResponse = client.search(searchRequest, RequestOptions.DEFAULT);
|
||||
//
|
||||
// List<String> ids = Arrays.stream(searchResponse.getHits()
|
||||
// .getHits())
|
||||
// .map(SearchHit::getId)
|
||||
// .collect(Collectors.toList());
|
||||
//
|
||||
// assertTrue(ids.contains(tajMahalId));
|
||||
// }
|
||||
|
||||
@Test
|
||||
public void givenGeoPointData_whenExecutedGeoBoundingBoxQuery_thenResultNonEmpty() throws Exception {
|
||||
|
||||
+1
-1
@@ -22,10 +22,10 @@ import org.junit.runner.RunWith;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.data.domain.Page;
|
||||
import org.springframework.data.domain.PageRequest;
|
||||
import org.springframework.data.elasticsearch.client.erhlc.NativeSearchQueryBuilder;
|
||||
import org.springframework.data.elasticsearch.core.ElasticsearchOperations;
|
||||
import org.springframework.data.elasticsearch.core.SearchHits;
|
||||
import org.springframework.data.elasticsearch.core.mapping.IndexCoordinates;
|
||||
import org.springframework.data.elasticsearch.core.query.NativeSearchQueryBuilder;
|
||||
import org.springframework.data.elasticsearch.core.query.Query;
|
||||
import org.springframework.test.context.ContextConfiguration;
|
||||
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
|
||||
|
||||
+2
-2
@@ -39,11 +39,11 @@ import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.data.elasticsearch.client.erhlc.NativeSearchQuery;
|
||||
import org.springframework.data.elasticsearch.client.erhlc.NativeSearchQueryBuilder;
|
||||
import org.springframework.data.elasticsearch.core.ElasticsearchOperations;
|
||||
import org.springframework.data.elasticsearch.core.SearchHits;
|
||||
import org.springframework.data.elasticsearch.core.mapping.IndexCoordinates;
|
||||
import org.springframework.data.elasticsearch.core.query.NativeSearchQuery;
|
||||
import org.springframework.data.elasticsearch.core.query.NativeSearchQueryBuilder;
|
||||
import org.springframework.test.context.ContextConfiguration;
|
||||
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user