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.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.core.env.Environment;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.io.IOException;
|
||||
|
@ -37,10 +38,12 @@ import java.util.stream.Stream;
|
|||
public class DatasetRepository extends ElasticRepository<Dataset, DatasetCriteria> {
|
||||
|
||||
private final DmpRepository dmpRepository;
|
||||
private final Environment environment;
|
||||
|
||||
public DatasetRepository(RestHighLevelClient client, DmpRepository dmpRepository) {
|
||||
public DatasetRepository(RestHighLevelClient client, DmpRepository dmpRepository, Environment environment) {
|
||||
super(client);
|
||||
this.dmpRepository = dmpRepository;
|
||||
this.environment = environment;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -64,7 +67,7 @@ public class DatasetRepository extends ElasticRepository<Dataset, DatasetCriteri
|
|||
}
|
||||
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);
|
||||
return entity;
|
||||
}
|
||||
|
@ -74,7 +77,7 @@ public class DatasetRepository extends ElasticRepository<Dataset, DatasetCriteri
|
|||
@Override
|
||||
public Dataset findDocument(String id) throws IOException {
|
||||
if (this.getClient() != null) {
|
||||
SearchRequest searchRequest = new SearchRequest("dmps");
|
||||
SearchRequest searchRequest = new SearchRequest(this.environment.getProperty("elasticsearch.index"));
|
||||
SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder();
|
||||
BoolQueryBuilder boolQuery = QueryBuilders.boolQuery().should(QueryBuilders.termQuery("datasets.id.keyword", id));
|
||||
NestedQueryBuilder nestedQueryBuilder = QueryBuilders.nestedQuery( "datasets", boolQuery, ScoreMode.Avg).innerHit(new InnerHitBuilder());
|
||||
|
@ -95,7 +98,7 @@ public class DatasetRepository extends ElasticRepository<Dataset, DatasetCriteri
|
|||
@Override
|
||||
public List<Dataset> query(DatasetCriteria criteria) throws IOException {
|
||||
if (this.getClient() != null) {
|
||||
SearchRequest searchRequest = new SearchRequest("dmps");
|
||||
SearchRequest searchRequest = new SearchRequest(this.environment.getProperty("elasticsearch.index"));
|
||||
SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder();
|
||||
|
||||
/*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);
|
||||
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");
|
||||
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);
|
||||
|
@ -193,7 +196,7 @@ public class DatasetRepository extends ElasticRepository<Dataset, DatasetCriteri
|
|||
@Override
|
||||
public boolean exists() throws IOException {
|
||||
if (this.getClient() != null) {
|
||||
GetIndexRequest request = new GetIndexRequest("dmps");
|
||||
GetIndexRequest request = new GetIndexRequest(this.environment.getProperty("elasticsearch.index"));
|
||||
// request.indices("datasets");
|
||||
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.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.core.env.Environment;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.io.IOException;
|
||||
|
@ -37,9 +38,12 @@ import java.util.stream.Stream;
|
|||
public class DmpRepository extends ElasticRepository<Dmp, DmpCriteria> {
|
||||
private static final Logger logger = LoggerFactory.getLogger(DmpRepository.class);
|
||||
|
||||
private final Environment environment;
|
||||
|
||||
@Autowired
|
||||
public DmpRepository(RestHighLevelClient client) {
|
||||
public DmpRepository(RestHighLevelClient client, Environment environment) {
|
||||
super(client);
|
||||
this.environment = environment;
|
||||
}
|
||||
|
||||
private void generateMapping() throws IOException {
|
||||
|
@ -52,7 +56,7 @@ public class DmpRepository extends ElasticRepository<Dmp, DmpCriteria> {
|
|||
builder.endObject();
|
||||
builder.endObject();
|
||||
builder.endObject();
|
||||
PutMappingRequest putMappingRequest = new PutMappingRequest("dmps");
|
||||
PutMappingRequest putMappingRequest = new PutMappingRequest(this.environment.getProperty("elasticsearch.index"));
|
||||
putMappingRequest.source(builder);
|
||||
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 {
|
||||
if (this.getClient() != null) {
|
||||
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);
|
||||
return entity;
|
||||
}
|
||||
|
@ -72,7 +76,7 @@ public class DmpRepository extends ElasticRepository<Dmp, DmpCriteria> {
|
|||
@Override
|
||||
public Dmp findDocument(String id) throws IOException {
|
||||
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);
|
||||
return new Dmp().fromElasticEntity(response.getSourceAsMap());
|
||||
}
|
||||
|
@ -82,10 +86,10 @@ public class DmpRepository extends ElasticRepository<Dmp, DmpCriteria> {
|
|||
@Override
|
||||
public List<Dmp> query(DmpCriteria criteria) throws IOException {
|
||||
if (this.getClient() != null) {
|
||||
SearchRequest searchRequest = new SearchRequest("dmps");
|
||||
SearchRequest searchRequest = new SearchRequest(this.environment.getProperty("elasticsearch.index"));
|
||||
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()))));
|
||||
CountResponse countResponse = getClient().count(countRequest, RequestOptions.DEFAULT);
|
||||
Long count = countResponse.getCount();
|
||||
|
@ -152,7 +156,7 @@ public class DmpRepository extends ElasticRepository<Dmp, DmpCriteria> {
|
|||
public boolean createIndex() {
|
||||
try {
|
||||
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.generateMapping();
|
||||
}
|
||||
|
@ -166,7 +170,7 @@ public class DmpRepository extends ElasticRepository<Dmp, DmpCriteria> {
|
|||
@Override
|
||||
public boolean exists() throws IOException {
|
||||
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 false;
|
||||
|
@ -175,10 +179,10 @@ public class DmpRepository extends ElasticRepository<Dmp, DmpCriteria> {
|
|||
@Override
|
||||
public void clear() throws IOException {
|
||||
if (exists()) {
|
||||
DeleteByQueryRequest delete = new DeleteByQueryRequest("dmps");
|
||||
DeleteByQueryRequest delete = new DeleteByQueryRequest(this.environment.getProperty("elasticsearch.index"));
|
||||
delete.setQuery(QueryBuilders.matchAllQuery());
|
||||
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);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -13,6 +13,7 @@ elasticsearch.host = localhost
|
|||
elasticsearch.port = 9200
|
||||
elasticsearch.username=elastic
|
||||
elasticsearch.password=
|
||||
elasticsearch.index=dmps
|
||||
|
||||
####################ELK OVERRIDES CONFIGURATIONS##########
|
||||
http-logger.server-address = http://localhost:31311
|
||||
|
|
|
@ -10,6 +10,7 @@ elasticsearch.host = tags-elastic-search
|
|||
elasticsearch.port = 9200
|
||||
elasticsearch.username=elastic
|
||||
elasticsearch.password=
|
||||
elasticsearch.index=dmps
|
||||
|
||||
####################PDF OVERRIDES CONFIGURATIONS##########
|
||||
pdf.converter.url=http://docsbox-web/
|
||||
|
|
|
@ -10,6 +10,7 @@ elasticsearch.host = tags-elastic-search
|
|||
elasticsearch.port = 9200
|
||||
elasticsearch.username=elastic
|
||||
elasticsearch.password=
|
||||
elasticsearch.index=dmps
|
||||
|
||||
####################PDF OVERRIDES CONFIGURATIONS##########
|
||||
pdf.converter.url=http://docsbox-web/
|
||||
|
|
Loading…
Reference in New Issue