2016-04-13 3 views
0

Я использую Jest Client для запроса Elasticsearch из моей программы Java. Все работает правильно, за исключением того, что когда я добавляю параметр «размер», он игнорируется. Создание и выполнение поиска:Jest Client Size Параметр Игнорируется

Search search = new Search.Builder(query) 
    .setSearchType(SearchType.QUERY_THEN_FETCH) 
    .addIndex(index) 
    .addType(type) 
    .setParameter(Parameters.SIZE, 1) 
    .build(); 
jestClient.execute(search); 

Этот запрос всегда возвращает 10 результатов, а не 1 ожидаемый результат. В случае, если это имеет значение, существует только 5 осколков, поэтому он не возвращает результат за осколок.

Есть ли какая-то особая причина, по которой этот параметр игнорируется? При запуске одного и того же запроса с теми же параметрами в командной строке с «curl -XGET» или при простое его размещение в браузере запрос выполняется правильно, а параметр размера -, принятый для учетной записи.

ответ

0

Получается, что я неправильно понял, как работает параметр размера. Я считаю, что Jest был, правильно обработав его при определении запросов, но на самом деле меня интересовали агенты .

Добавление параметра «размер» в мою агрегированную работу, как видно из документов Terms Aggregation (скопировано ниже).

{ 
    "aggs" : { 
     "products" : { 
      "terms" : { 
       "field" : "product", 
       "size" : 5 
      } 
     } 
    } 
} 
Смежные вопросы