Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
dmp
OpenAIRE-EUDAT-DMP-service-pilot
Commits
bfbc271b
Commit
bfbc271b
authored
Aug 24, 2021
by
George Kalampokis
Browse files
Fix elastic dataset consistency (impacts memory)
parent
c964af25
Changes
1
Hide whitespace changes
Inline
Side-by-side
dmp-backend/elastic/src/main/java/eu/eudat/elastic/repository/DatasetRepository.java
View file @
bfbc271b
...
...
@@ -131,7 +131,7 @@ public class DatasetRepository extends ElasticRepository<Dataset, DatasetCriteri
criteria
.
getSortCriteria
().
forEach
(
sortCriteria
->
{
switch
(
sortCriteria
.
getColumnType
())
{
case
COLUMN:
sortBuilders
.
add
(
SortBuilders
.
fieldSort
(
sortCriteria
.
getFieldName
()).
order
(
SortOrder
.
fromString
(
sortCriteria
.
getOrderByType
().
name
())));
sortBuilders
.
add
(
SortBuilders
.
fieldSort
(
"datasets."
+
sortCriteria
.
getFieldName
()).
order
(
SortOrder
.
fromString
(
sortCriteria
.
getOrderByType
().
name
())));
break
;
case
JOIN_COLUMN:
List
<
String
>
fields
=
Arrays
.
asList
(
sortCriteria
.
getFieldName
().
split
(
":"
));
...
...
@@ -145,10 +145,10 @@ public class DatasetRepository extends ElasticRepository<Dataset, DatasetCriteri
}
NestedQueryBuilder
nestedQueryBuilder
=
QueryBuilders
.
nestedQuery
(
"datasets"
,
boolQuery
,
ScoreMode
.
Avg
).
innerHit
(
new
InnerHitBuilder
().
setFetchSourceContext
(
new
FetchSourceContext
(
true
,
new
String
[]{
"datasets.tags"
},
null
)));
searchSourceBuilder
.
query
(
nestedQueryBuilder
).
from
(
criteria
.
getOffset
()).
fetchSource
(
"datasets.tags"
,
null
);
if
(
criteria
.
getSize
()
>
0
)
{
searchSourceBuilder
.
query
(
nestedQueryBuilder
)
/*
.from(criteria.getOffset())
*/
.
fetchSource
(
"datasets.tags"
,
null
);
/*
if (criteria.getSize() > 0) {
searchSourceBuilder.size(criteria.getSize());
}
}
*/
sortBuilders
.
forEach
(
searchSourceBuilder:
:
sort
);
searchRequest
.
source
(
searchSourceBuilder
);
SearchResponse
response
=
this
.
getClient
().
search
(
searchRequest
,
RequestOptions
.
DEFAULT
);
...
...
@@ -191,7 +191,7 @@ public class DatasetRepository extends ElasticRepository<Dataset, DatasetCriteri
criteria
.
getSortCriteria
().
forEach
(
sortCriteria
->
{
switch
(
sortCriteria
.
getColumnType
())
{
case
COLUMN:
sortBuilders
.
add
(
SortBuilders
.
fieldSort
(
sortCriteria
.
getFieldName
()).
order
(
SortOrder
.
fromString
(
sortCriteria
.
getOrderByType
().
name
())));
sortBuilders
.
add
(
SortBuilders
.
fieldSort
(
"datasets."
+
sortCriteria
.
getFieldName
()).
order
(
SortOrder
.
fromString
(
sortCriteria
.
getOrderByType
().
name
())));
break
;
case
JOIN_COLUMN:
List
<
String
>
fields
=
Arrays
.
asList
(
sortCriteria
.
getFieldName
().
split
(
":"
));
...
...
@@ -205,7 +205,7 @@ public class DatasetRepository extends ElasticRepository<Dataset, DatasetCriteri
}
NestedQueryBuilder
nestedQueryBuilder
=
QueryBuilders
.
nestedQuery
(
"datasets"
,
boolQuery
,
ScoreMode
.
None
).
innerHit
(
new
InnerHitBuilder
().
setFetchSourceContext
(
new
FetchSourceContext
(
true
,
new
String
[]{
"datasets.id"
},
null
)));
searchSourceBuilder
.
query
(
nestedQueryBuilder
).
from
(
criteria
.
getOffset
()).
size
(
criteria
.
getSize
()).
fetchSource
(
"datasets.id"
,
null
);
searchSourceBuilder
.
query
(
nestedQueryBuilder
)
/*
.from(criteria.getOffset()).size(criteria.getSize())
*/
.
fetchSource
(
"datasets.id"
,
null
);
sortBuilders
.
forEach
(
searchSourceBuilder:
:
sort
);
searchRequest
.
source
(
searchSourceBuilder
);
SearchResponse
response
=
this
.
getClient
().
search
(
searchRequest
,
RequestOptions
.
DEFAULT
);
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment