Put elastic search index into the configurations
This commit is contained in:
parent
77bcb95ad7
commit
501ca9fcc2
|
@ -26,6 +26,7 @@ import org.elasticsearch.search.aggregations.bucket.nested.ParsedNested;
|
||||||
import org.elasticsearch.search.builder.SearchSourceBuilder;
|
import org.elasticsearch.search.builder.SearchSourceBuilder;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
|
import org.springframework.core.env.Environment;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
@ -37,10 +38,12 @@ import java.util.stream.Stream;
|
||||||
public class DatasetRepository extends ElasticRepository<Dataset, DatasetCriteria> {
|
public class DatasetRepository extends ElasticRepository<Dataset, DatasetCriteria> {
|
||||||
|
|
||||||
private final DmpRepository dmpRepository;
|
private final DmpRepository dmpRepository;
|
||||||
|
private final Environment environment;
|
||||||
|
|
||||||
public DatasetRepository(RestHighLevelClient client, DmpRepository dmpRepository) {
|
public DatasetRepository(RestHighLevelClient client, DmpRepository dmpRepository, Environment environment) {
|
||||||
super(client);
|
super(client);
|
||||||
this.dmpRepository = dmpRepository;
|
this.dmpRepository = dmpRepository;
|
||||||
|
this.environment = environment;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -64,7 +67,7 @@ public class DatasetRepository extends ElasticRepository<Dataset, DatasetCriteri
|
||||||
}
|
}
|
||||||
dmp.getDatasets().add(entity);
|
dmp.getDatasets().add(entity);
|
||||||
}
|
}
|
||||||
IndexRequest request = new IndexRequest("dmps").id(dmp.getId().toString()).source(dmp.toElasticEntity(builder));//new IndexRequest("datasets", "doc", entity.getId()).source(entity.toElasticEntity(builder));
|
IndexRequest request = new IndexRequest(this.environment.getProperty("elasticsearch.index")).id(dmp.getId().toString()).source(dmp.toElasticEntity(builder));//new IndexRequest("datasets", "doc", entity.getId()).source(entity.toElasticEntity(builder));
|
||||||
this.getClient().index(request, RequestOptions.DEFAULT);
|
this.getClient().index(request, RequestOptions.DEFAULT);
|
||||||
return entity;
|
return entity;
|
||||||
}
|
}
|
||||||
|
@ -74,7 +77,7 @@ public class DatasetRepository extends ElasticRepository<Dataset, DatasetCriteri
|
||||||
@Override
|
@Override
|
||||||
public Dataset findDocument(String id) throws IOException {
|
public Dataset findDocument(String id) throws IOException {
|
||||||
if (this.getClient() != null) {
|
if (this.getClient() != null) {
|
||||||
SearchRequest searchRequest = new SearchRequest("dmps");
|
SearchRequest searchRequest = new SearchRequest(this.environment.getProperty("elasticsearch.index"));
|
||||||
SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder();
|
SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder();
|
||||||
BoolQueryBuilder boolQuery = QueryBuilders.boolQuery().should(QueryBuilders.termQuery("datasets.id.keyword", id));
|
BoolQueryBuilder boolQuery = QueryBuilders.boolQuery().should(QueryBuilders.termQuery("datasets.id.keyword", id));
|
||||||
NestedQueryBuilder nestedQueryBuilder = QueryBuilders.nestedQuery( "datasets", boolQuery, ScoreMode.Avg).innerHit(new InnerHitBuilder());
|
NestedQueryBuilder nestedQueryBuilder = QueryBuilders.nestedQuery( "datasets", boolQuery, ScoreMode.Avg).innerHit(new InnerHitBuilder());
|
||||||
|
@ -95,7 +98,7 @@ public class DatasetRepository extends ElasticRepository<Dataset, DatasetCriteri
|
||||||
@Override
|
@Override
|
||||||
public List<Dataset> query(DatasetCriteria criteria) throws IOException {
|
public List<Dataset> query(DatasetCriteria criteria) throws IOException {
|
||||||
if (this.getClient() != null) {
|
if (this.getClient() != null) {
|
||||||
SearchRequest searchRequest = new SearchRequest("dmps");
|
SearchRequest searchRequest = new SearchRequest(this.environment.getProperty("elasticsearch.index"));
|
||||||
SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder();
|
SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder();
|
||||||
|
|
||||||
/*CountRequest countRequest = new CountRequest("dmps").routing("datasets").routing("id");
|
/*CountRequest countRequest = new CountRequest("dmps").routing("datasets").routing("id");
|
||||||
|
@ -103,7 +106,7 @@ public class DatasetRepository extends ElasticRepository<Dataset, DatasetCriteri
|
||||||
CountResponse countResponse = getClient().count(countRequest, RequestOptions.DEFAULT);
|
CountResponse countResponse = getClient().count(countRequest, RequestOptions.DEFAULT);
|
||||||
Long count = countResponse.getCount();*/
|
Long count = countResponse.getCount();*/
|
||||||
|
|
||||||
SearchRequest countRequest = new SearchRequest("dmps");
|
SearchRequest countRequest = new SearchRequest(this.environment.getProperty("elasticsearch.index"));
|
||||||
NestedAggregationBuilder nestedAggregationBuilder = AggregationBuilders.nested("by_dataset", "datasets");
|
NestedAggregationBuilder nestedAggregationBuilder = AggregationBuilders.nested("by_dataset", "datasets");
|
||||||
FiltersAggregationBuilder filtersAggregationBuilder = AggregationBuilders.filters("dataset_query", QueryBuilders.boolQuery().mustNot(QueryBuilders.termsQuery("datasets.status.keyword", Stream.of(Dataset.Status.DELETED.getValue(), Dataset.Status.CANCELED.getValue()).collect(Collectors.toList()))));
|
FiltersAggregationBuilder filtersAggregationBuilder = AggregationBuilders.filters("dataset_query", QueryBuilders.boolQuery().mustNot(QueryBuilders.termsQuery("datasets.status.keyword", Stream.of(Dataset.Status.DELETED.getValue(), Dataset.Status.CANCELED.getValue()).collect(Collectors.toList()))));
|
||||||
nestedAggregationBuilder.subAggregation(filtersAggregationBuilder);
|
nestedAggregationBuilder.subAggregation(filtersAggregationBuilder);
|
||||||
|
@ -193,7 +196,7 @@ public class DatasetRepository extends ElasticRepository<Dataset, DatasetCriteri
|
||||||
@Override
|
@Override
|
||||||
public boolean exists() throws IOException {
|
public boolean exists() throws IOException {
|
||||||
if (this.getClient() != null) {
|
if (this.getClient() != null) {
|
||||||
GetIndexRequest request = new GetIndexRequest("dmps");
|
GetIndexRequest request = new GetIndexRequest(this.environment.getProperty("elasticsearch.index"));
|
||||||
// request.indices("datasets");
|
// request.indices("datasets");
|
||||||
return this.getClient().indices().exists(request, RequestOptions.DEFAULT);
|
return this.getClient().indices().exists(request, RequestOptions.DEFAULT);
|
||||||
}
|
}
|
||||||
|
|
|
@ -26,6 +26,7 @@ import org.elasticsearch.search.builder.SearchSourceBuilder;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.core.env.Environment;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
@ -37,9 +38,12 @@ import java.util.stream.Stream;
|
||||||
public class DmpRepository extends ElasticRepository<Dmp, DmpCriteria> {
|
public class DmpRepository extends ElasticRepository<Dmp, DmpCriteria> {
|
||||||
private static final Logger logger = LoggerFactory.getLogger(DmpRepository.class);
|
private static final Logger logger = LoggerFactory.getLogger(DmpRepository.class);
|
||||||
|
|
||||||
|
private final Environment environment;
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
public DmpRepository(RestHighLevelClient client) {
|
public DmpRepository(RestHighLevelClient client, Environment environment) {
|
||||||
super(client);
|
super(client);
|
||||||
|
this.environment = environment;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void generateMapping() throws IOException {
|
private void generateMapping() throws IOException {
|
||||||
|
@ -52,7 +56,7 @@ public class DmpRepository extends ElasticRepository<Dmp, DmpCriteria> {
|
||||||
builder.endObject();
|
builder.endObject();
|
||||||
builder.endObject();
|
builder.endObject();
|
||||||
builder.endObject();
|
builder.endObject();
|
||||||
PutMappingRequest putMappingRequest = new PutMappingRequest("dmps");
|
PutMappingRequest putMappingRequest = new PutMappingRequest(this.environment.getProperty("elasticsearch.index"));
|
||||||
putMappingRequest.source(builder);
|
putMappingRequest.source(builder);
|
||||||
this.getClient().indices().putMapping(putMappingRequest, RequestOptions.DEFAULT);
|
this.getClient().indices().putMapping(putMappingRequest, RequestOptions.DEFAULT);
|
||||||
}
|
}
|
||||||
|
@ -62,7 +66,7 @@ public class DmpRepository extends ElasticRepository<Dmp, DmpCriteria> {
|
||||||
public Dmp createOrUpdate(Dmp entity) throws IOException {
|
public Dmp createOrUpdate(Dmp entity) throws IOException {
|
||||||
if (this.getClient() != null) {
|
if (this.getClient() != null) {
|
||||||
XContentBuilder builder = XContentFactory.jsonBuilder();
|
XContentBuilder builder = XContentFactory.jsonBuilder();
|
||||||
IndexRequest request = new IndexRequest("dmps").id(entity.getId().toString()).source(entity.toElasticEntity(builder));
|
IndexRequest request = new IndexRequest(this.environment.getProperty("elasticsearch.index")).id(entity.getId().toString()).source(entity.toElasticEntity(builder));
|
||||||
IndexResponse response = this.getClient().index(request, RequestOptions.DEFAULT);
|
IndexResponse response = this.getClient().index(request, RequestOptions.DEFAULT);
|
||||||
return entity;
|
return entity;
|
||||||
}
|
}
|
||||||
|
@ -72,7 +76,7 @@ public class DmpRepository extends ElasticRepository<Dmp, DmpCriteria> {
|
||||||
@Override
|
@Override
|
||||||
public Dmp findDocument(String id) throws IOException {
|
public Dmp findDocument(String id) throws IOException {
|
||||||
if (this.getClient() != null) {
|
if (this.getClient() != null) {
|
||||||
GetRequest request = new GetRequest("dmps", id);
|
GetRequest request = new GetRequest(this.environment.getProperty("elasticsearch.index"), id);
|
||||||
GetResponse response = this.getClient().get(request, RequestOptions.DEFAULT);
|
GetResponse response = this.getClient().get(request, RequestOptions.DEFAULT);
|
||||||
return new Dmp().fromElasticEntity(response.getSourceAsMap());
|
return new Dmp().fromElasticEntity(response.getSourceAsMap());
|
||||||
}
|
}
|
||||||
|
@ -82,10 +86,10 @@ public class DmpRepository extends ElasticRepository<Dmp, DmpCriteria> {
|
||||||
@Override
|
@Override
|
||||||
public List<Dmp> query(DmpCriteria criteria) throws IOException {
|
public List<Dmp> query(DmpCriteria criteria) throws IOException {
|
||||||
if (this.getClient() != null) {
|
if (this.getClient() != null) {
|
||||||
SearchRequest searchRequest = new SearchRequest("dmps");
|
SearchRequest searchRequest = new SearchRequest(this.environment.getProperty("elasticsearch.index"));
|
||||||
SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder();
|
SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder();
|
||||||
|
|
||||||
CountRequest countRequest = new CountRequest("dmps");
|
CountRequest countRequest = new CountRequest(this.environment.getProperty("elasticsearch.index"));
|
||||||
countRequest.query(QueryBuilders.boolQuery().mustNot(QueryBuilders.termsQuery(Dmp.MapKey.STATUS.getName(), Collections.singletonList(Dmp.DMPStatus.DELETED.getValue()))));
|
countRequest.query(QueryBuilders.boolQuery().mustNot(QueryBuilders.termsQuery(Dmp.MapKey.STATUS.getName(), Collections.singletonList(Dmp.DMPStatus.DELETED.getValue()))));
|
||||||
CountResponse countResponse = getClient().count(countRequest, RequestOptions.DEFAULT);
|
CountResponse countResponse = getClient().count(countRequest, RequestOptions.DEFAULT);
|
||||||
Long count = countResponse.getCount();
|
Long count = countResponse.getCount();
|
||||||
|
@ -152,7 +156,7 @@ public class DmpRepository extends ElasticRepository<Dmp, DmpCriteria> {
|
||||||
public boolean createIndex() {
|
public boolean createIndex() {
|
||||||
try {
|
try {
|
||||||
if (!this.exists()) {
|
if (!this.exists()) {
|
||||||
CreateIndexRequest createIndexRequest = new CreateIndexRequest("dmps");
|
CreateIndexRequest createIndexRequest = new CreateIndexRequest(this.environment.getProperty("elasticsearch.index"));
|
||||||
this.getClient().indices().create(createIndexRequest, RequestOptions.DEFAULT);
|
this.getClient().indices().create(createIndexRequest, RequestOptions.DEFAULT);
|
||||||
this.generateMapping();
|
this.generateMapping();
|
||||||
}
|
}
|
||||||
|
@ -166,7 +170,7 @@ public class DmpRepository extends ElasticRepository<Dmp, DmpCriteria> {
|
||||||
@Override
|
@Override
|
||||||
public boolean exists() throws IOException {
|
public boolean exists() throws IOException {
|
||||||
if (this.getClient() != null) {
|
if (this.getClient() != null) {
|
||||||
GetIndexRequest request = new GetIndexRequest("dmps");
|
GetIndexRequest request = new GetIndexRequest(this.environment.getProperty("elasticsearch.index"));
|
||||||
return this.getClient().indices().exists(request, RequestOptions.DEFAULT);
|
return this.getClient().indices().exists(request, RequestOptions.DEFAULT);
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
|
@ -175,10 +179,10 @@ public class DmpRepository extends ElasticRepository<Dmp, DmpCriteria> {
|
||||||
@Override
|
@Override
|
||||||
public void clear() throws IOException {
|
public void clear() throws IOException {
|
||||||
if (exists()) {
|
if (exists()) {
|
||||||
DeleteByQueryRequest delete = new DeleteByQueryRequest("dmps");
|
DeleteByQueryRequest delete = new DeleteByQueryRequest(this.environment.getProperty("elasticsearch.index"));
|
||||||
delete.setQuery(QueryBuilders.matchAllQuery());
|
delete.setQuery(QueryBuilders.matchAllQuery());
|
||||||
this.getClient().deleteByQuery(delete, RequestOptions.DEFAULT);
|
this.getClient().deleteByQuery(delete, RequestOptions.DEFAULT);
|
||||||
DeleteIndexRequest deleteIndexRequest = new DeleteIndexRequest("dmps");
|
DeleteIndexRequest deleteIndexRequest = new DeleteIndexRequest(this.environment.getProperty("elasticsearch.index"));
|
||||||
this.getClient().indices().delete(deleteIndexRequest, RequestOptions.DEFAULT);
|
this.getClient().indices().delete(deleteIndexRequest, RequestOptions.DEFAULT);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -13,6 +13,7 @@ elasticsearch.host = localhost
|
||||||
elasticsearch.port = 9200
|
elasticsearch.port = 9200
|
||||||
elasticsearch.username=elastic
|
elasticsearch.username=elastic
|
||||||
elasticsearch.password=
|
elasticsearch.password=
|
||||||
|
elasticsearch.index=dmps
|
||||||
|
|
||||||
####################ELK OVERRIDES CONFIGURATIONS##########
|
####################ELK OVERRIDES CONFIGURATIONS##########
|
||||||
http-logger.server-address = http://localhost:31311
|
http-logger.server-address = http://localhost:31311
|
||||||
|
|
|
@ -10,6 +10,7 @@ elasticsearch.host = tags-elastic-search
|
||||||
elasticsearch.port = 9200
|
elasticsearch.port = 9200
|
||||||
elasticsearch.username=elastic
|
elasticsearch.username=elastic
|
||||||
elasticsearch.password=
|
elasticsearch.password=
|
||||||
|
elasticsearch.index=dmps
|
||||||
|
|
||||||
####################PDF OVERRIDES CONFIGURATIONS##########
|
####################PDF OVERRIDES CONFIGURATIONS##########
|
||||||
pdf.converter.url=http://docsbox-web/
|
pdf.converter.url=http://docsbox-web/
|
||||||
|
|
|
@ -10,6 +10,7 @@ elasticsearch.host = tags-elastic-search
|
||||||
elasticsearch.port = 9200
|
elasticsearch.port = 9200
|
||||||
elasticsearch.username=elastic
|
elasticsearch.username=elastic
|
||||||
elasticsearch.password=
|
elasticsearch.password=
|
||||||
|
elasticsearch.index=dmps
|
||||||
|
|
||||||
####################PDF OVERRIDES CONFIGURATIONS##########
|
####################PDF OVERRIDES CONFIGURATIONS##########
|
||||||
pdf.converter.url=http://docsbox-web/
|
pdf.converter.url=http://docsbox-web/
|
||||||
|
|
Loading…
Reference in New Issue