Use ES for text queries
When user provides _text
filter (keyword search) the backend should query ES for results (not the database).
We have _text
filter in DescriptorListFilter
for example. Add _text
filter to AccessionFilter
.
This requires adding support for converting _text
field to a full-text ES query (https://www.elastic.co/guide/en/elasticsearch/reference/2.3/full-text-queries.html) in ElasticQueryBuilder
.
Explore if this is possible.
public Page<Accession> list(AccessionFilter filter, Pageable page) {
if (StringUtils.isNotBlank(filter._text)) {
// FIXME Use ES to list matches
elasticsearchService.findAll(Accession.class, filter, page);
} else {
List<Accession> content = accessionRepository.findAll(filter, page);
}
long total = countAccessions(filter);
return new PageImpl<>(content, page, total);
}