Эластичный поиск Весенних данных

#java #spring #spring-boot #elasticsearch

Вопрос:

У меня есть простое pojo, как это,

 public class CountRequestDto {

    private int age;
    private String region;
    private String zipcode;
    private String maritalStatus;
    private String gender;
}
 

Время от времени значения атрибутов будут отличаться, содержащиеся в этом классе. В качестве примера для первого раза атрибуты возраста и региона содержат значения, а все остальные равны нулю. В другом временном почтовом коде статус и пол могут содержать значения,но возраст и регион равны нулю. Аналогично, для конкретного запроса некоторые атрибуты имеют значения, а другие равны нулю. Я хочу знать, можно ли написать один эластичный поисковый запрос для повторного поиска записей в соответствии с атрибутами, содержащими значения.
В качестве примера, если регион и пол содержат значения, а другие значения равны нулю, я хочу, чтобы запрос select был примерно таким (выберите * из таблицы, где регион=»значение 1″ и пол =»мужчина»). просто запрос должен динамически изменяться в соответствии с предоставленными атрибутами.
Мой java-код для поиска данных выглядит следующим образом. Если это неправильно, пожалуйста, направьте меня на правильный путь. В подробностях ссылка будет полезна.

 String query = "";
QueryBuilder queryBuilder = QueryBuilders.multiMatchQuery(query, "age","region","zipcode","maritalStatus", "gender");

     Query searchQuery = new NativeSearchQueryBuilder().withFilter(queryBuilder).build();
            SearchHits<ApprovalDetails> productHits = elasticsearchOperations.search(searchQuery, ApprovalDetails.class, IndexCoordinates.of("approval_details"));
            List<ApprovalDetails> productMatches = new ArrayList<ApprovalDetails>();
            productHits.forEach(searchHit -> {
                productMatches.add(searchHit.getContent());
            });
            return sendResponse(new Response(ResponseMessage.SUCCESS, productMatches.size())); 
 

Пожалуйста, кто-нибудь может предоставить запрос или код для выполнения этой задачи. Я действительно оцениваю это.