You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/reference/search/profile.asciidoc
+24-24Lines changed: 24 additions & 24 deletions
Original file line number
Diff line number
Diff line change
@@ -189,16 +189,16 @@ by a unique ID
189
189
190
190
Because a search request may be executed against one or more shards in an index, and a search may cover
191
191
one or more indices, the top level element in the profile response is an array of `shard` objects.
192
-
Each shard object lists it's `id` which uniquely identifies the shard. The ID's format is
192
+
Each shard object lists its `id` which uniquely identifies the shard. The ID's format is
193
193
`[nodeID][indexName][shardID]`.
194
194
195
195
The profile itself may consist of one or more "searches", where a search is a query executed against the underlying
196
-
Lucene index. Most Search Requests submitted by the user will only execute a single `search` against the Lucene index.
196
+
Lucene index. Most search requests submitted by the user will only execute a single `search` against the Lucene index.
197
197
But occasionally multiple searches will be executed, such as including a global aggregation (which needs to execute
198
198
a secondary "match_all" query for the global context).
199
199
200
200
Inside each `search` object there will be two arrays of profiled information:
201
-
a `query` array and a `collector` array. Alongside the `search` object is an `aggregations` object that contains the profile information for the aggregations. In the future, more sections may be added, such as `suggest`, `highlight`, etc
201
+
a `query` array and a `collector` array. Alongside the `search` object is an `aggregations` object that contains the profile information for the aggregations. In the future, more sections may be added, such as `suggest`, `highlight`, etc.
202
202
203
203
There will also be a `rewrite` metric showing the total time spent rewriting the query (in nanoseconds).
204
204
@@ -325,12 +325,12 @@ The meaning of the stats are as follows:
325
325
`build_scorer`::
326
326
327
327
This parameter shows how long it takes to build a Scorer for the query. A Scorer is the mechanism that
328
-
iterates over matching documents generates a score per-document (e.g. how well does "foo" match the document?).
328
+
iterates over matching documents and generates a score per-document (e.g. how well does "foo" match the document?).
329
329
Note, this records the time required to generate the Scorer object, not actually score the documents. Some
330
330
queries have faster or slower initialization of the Scorer, depending on optimizations, complexity, etc.
331
331
{empty} +
332
332
{empty} +
333
-
This may also showing timing associated with caching, if enabled and/or applicable for the query
333
+
This may also show timing associated with caching, if enabled and/or applicable for the query
334
334
335
335
`next_doc`::
336
336
@@ -350,7 +350,7 @@ The meaning of the stats are as follows:
350
350
351
351
`matches`::
352
352
353
-
Some queries, such as phrase queries, match documents using a "Two Phase" process. First, the document is
353
+
Some queries, such as phrase queries, match documents using a "two-phase" process. First, the document is
354
354
"approximately" matched, and if it matches approximately, it is checked a second time with a more rigorous
355
355
(and expensive) process. The second phase verification is what the `matches` statistic measures.
356
356
{empty} +
@@ -365,7 +365,7 @@ The meaning of the stats are as follows:
365
365
366
366
`score`::
367
367
368
-
This records the time taken to score a particular document via it's Scorer
368
+
This records the time taken to score a particular document via its Scorer
369
369
370
370
`*_count`::
371
371
Records the number of invocations of the particular method. For example, `"next_doc_count": 2,`
@@ -375,7 +375,7 @@ The meaning of the stats are as follows:
375
375
==== `collectors` Section
376
376
377
377
The Collectors portion of the response shows high-level execution details. Lucene works by defining a "Collector"
378
-
which is responsible for coordinating the traversal, scoring and collection of matching documents. Collectors
378
+
which is responsible for coordinating the traversal, scoring, and collection of matching documents. Collectors
379
379
are also how a single query can record aggregation results, execute unscoped "global" queries, execute post-query
380
380
filters, etc.
381
381
@@ -403,16 +403,16 @@ Looking at the previous example:
We see a single collector named `SimpleTopScoreDocCollector` wrapped into `CancellableCollector`. `SimpleTopScoreDocCollector` is the default "scoring and sorting"
406
-
`Collector` used by Elasticsearch. The `reason` field attempts to give a plain english description of the class name. The
406
+
`Collector` used by Elasticsearch. The `reason` field attempts to give a plain English description of the class name. The
407
407
`time_in_nanos` is similar to the time in the Query tree: a wall-clock time inclusive of all children. Similarly, `children` lists
408
408
all sub-collectors. The `CancellableCollector` that wraps `SimpleTopScoreDocCollector` is used by Elasticsearch to detect if the current
409
409
search was cancelled and stop collecting documents as soon as it occurs.
410
410
411
-
It should be noted that Collector times are **independent** from the Query times. They are calculated, combined
411
+
It should be noted that Collector times are **independent** from the Query times. They are calculated, combined,
412
412
and normalized independently! Due to the nature of Lucene's execution, it is impossible to "merge" the times
413
413
from the Collectors into the Query section, so they are displayed in separate portions.
414
414
415
-
For reference, the various collector reason's are:
415
+
For reference, the various collector reasons are:
416
416
417
417
[horizontal]
418
418
`search_sorted`::
@@ -438,7 +438,7 @@ For reference, the various collector reason's are:
438
438
`search_multi`::
439
439
440
440
A collector that wraps several other collectors. This is seen when combinations of search, aggregations,
441
-
global aggs and post_filters are combined in a single search.
441
+
global aggs, and post_filters are combined in a single search.
442
442
443
443
`search_timeout`::
444
444
@@ -454,7 +454,7 @@ For reference, the various collector reason's are:
454
454
`global_aggregation`::
455
455
456
456
A collector that executes an aggregation against the global query scope, rather than the specified query.
457
-
Because the global scope is necessarily different from the executed query, it must execute it's own
457
+
Because the global scope is necessarily different from the executed query, it must execute its own
458
458
match_all query (which you will see added to the Query section) to collect your entire dataset
0 commit comments