Search and filter with Spring Data Elasticsearch
Use something like this
QueryBuilder qb;QueryBuilder stateFilters = QueryBuilders.boolQuery();((BoolQueryBuilder) filters).filter(QueryBuilders.matchQuery("state", "New"));qb = QueryBuilders.boolQuery().should(QueryBuilders.queryStringQuery("foobar*")).filter(stateFilters );
the filter function here helps us with this
here qb will have the proper query which can now be used to search using the elasticsearchRepository.search(qb)
;
Here is some information from spring docs:https://docs.spring.io/spring-data/elasticsearch/docs/current/reference/html/#elasticsearch.operations