Elasticsearch 5.5 - как вернуть _all.total.store.size_in_bytes из _stats?

if оператор не векторизован. Для векторизованных операторов if вы должны использовать ifelse. В вашем случае достаточно написать

w <- function(a){
if (any(a>0)){
  a/sum(a)
}
  else 1
}

или короткую векторную версию

ifelse(a > 0, a/sum(a), 1)

. Это зависит от того, что вы хотите использовать, потому что первая функция дает выходной вектор длина 1 (в остальной части) и ifelse дает выходной вектор длины, равный длине a.

0
задан milkamar 13 July 2018 в 10:51
поделиться

1 ответ

Является ли GET /eltrack-*cps*/_stats/store (возможно, с добавленным ?human) недостаточно хорошим? Не уверен, что вы можете отфильтровать только одно конкретное поле, но соответствующая информация находится в этом запросе (плюс дополнительные данные для других размеров).

0
ответ дан xeraa 17 August 2018 в 13:06
поделиться
  • 1
    Привет, так как я хочу только это поле; Я хотел получить как атомный ответ от сервера, насколько это возможно. Это помогло бы мне некоторое время разбора и сделать код более понятным. Но, как вы говорите, запрос, который вы предоставили, может быть самым близким, которого я могу получить. Благодаря :) – milkamar 17 July 2018 в 07:41
Другие вопросы по тегам:

Похожие вопросы: