#!/bin/bash start_time=$(date +%s.%3N) res=`curl -s -XPOST http://localhost:9200/_plugins/_sql -H 'Content-Type: application/json' -d '{"query": "select * from '$1'", "fetch_size": '$2' }'` requests=1 rows=0 for (( ; ; )) do rows=$((rows + $(echo $res | jq '.datarows' | grep -Fc '['))) cursor=$(echo $res | jq -r .cursor) if [ $cursor = 'null' ]; then break; fi res=`curl -s -XPOST http://localhost:9200/_plugins/_sql -H 'Content-Type: application/json' -d '{"cursor": "'$cursor'" }'` requests=$((requests + 1)) done end_time=$(date +%s.%3N) elapsed=$(echo "scale=3; $end_time - $start_time" | bc) echo Fetched $((rows - requests)) rows in $requests requests in ${elapsed}s