One reason to use the si- commands is to aggregate values for storage (base search or summary index). this is the quickest way to run searches. Simply throwing a table or fields command at the end of a base search often reduces performance, even if it may reduce server load. Another reason to use the si- commands is to preserve the integrity of the values in aggregate when in summarized form. if you were to use a stats command to summarize data for summary index or base search, and then another stats command right after it in post-process or to further aggregate from a summary index (because the original intervals need to be further combined), you will end up with incorrect quantitative values due to weighting issues. Take, for example, you have just 2 intervals of response times. the first interval has 2 events with both having 10 second response time each. the 2nd interval has 1 event with 1 second response time. a double-aggregate average will yield 5.5 second average response time ( (10 + 1) / 2 ), but a true and correct average is 7 seconds ( (10 + 10 + 1 ) / 3 ). transforming commands otherwise lose the original values still required, so si- commands store these in special fields. I honestly don't know specifically what most of the other psrsvd fields do, but it is likely for similar reasons and to help users in using the same familiar format for the final and regular stats command without ever knowing that you're actually querying summarized data.
... View more