Я использую spring-boot-starter-data -asticsearch 2.1.0.RC1.
У меня есть пользовательский запрос (через аннотацию @Query), где я хочу передать 11 параметров. Запрос выглядит так:
{
"bool" : {
"must" : [
{
"range" : {
"attribute0" : { "gte" : ?0, "lte" : ?1 }
}
},
{
"range" : {
"attribute1" : { "gte" : ?2, "lte" : ?3 }
}
},
{
"term": { "attribute2": "?4" }
},
{
"term": { "attribute3": "?5" }
},
{
"term": { "attribute4": "?6" }
},
{
"term": { "attribute5": "?7" }
},
{
"term": { "attribute6": "?8" }
},
{
"term": { "attribute7": "?9" }
},
{
"term": { "attribute8": "?10" }
}
]
}
}
В моем хранилище это выглядит так:
@Query("{\"bool\":{\"must\":[{\"range\":{\"attribute0\":{\"gte\":?0,\"lte\":?1}}},{\"range\":{\"attribute1\":{\"gte\":?2,\"lte\":?3}}},{\"term\":{\"attribute2\":\"?4\"}},{\"term\":{\"attribute3\":\"?5\"}},{\"term\":{\"attribute4\":\"?6\"}},{\"term\":{\"attribute5\":\"?7\"}},{\"term\":{\"attribute6\":\"?8\"}},{\"term\":{\"attribute7\":\"?9\"}},{\"term\":{\"attribute8\":\"?10\"}}]}}")
Page<Entity> findAllByAttributes(
Integer param0, Integer param1,
Integer param2, Integer param3,
String param4, String param5,
String param6, String param7,
String param8, String param9,
String param10, Pageable pageable);
Проблема в том, что я не могу использовать более 10 параметров (однозначный индекс от 0 до 9). заполнитель? 10 разрешается заполнителю 1 с добавлением нуля .
Я не могу найти в справочной документации Spring Data Elasticsearch ничего о каких-либо ограничениях в количестве параметров.
Как я могу передать более 10 параметров в @Query?