[[cat-fielddata]] === cat fielddata API ++++ cat fielddata ++++ Returns the amount of heap memory currently used by fielddata on every data node in the cluster. [[cat-fielddata-api-request]] ==== {api-request-title} `GET /_cat/fielddata/` `GET /_cat/fielddata` [[cat-fielddata-api-path-params]] ==== {api-path-parms-title} ``:: (Optional, string) Comma-separated list of fields used to limit returned information. [[cat-fielddata-api-query-params]] ==== {api-query-parms-title} include::{docdir}/rest-api/common-parms.asciidoc[tag=bytes] include::{docdir}/rest-api/common-parms.asciidoc[tag=http-format] include::{docdir}/rest-api/common-parms.asciidoc[tag=cat-h] include::{docdir}/rest-api/common-parms.asciidoc[tag=help] include::{docdir}/rest-api/common-parms.asciidoc[tag=cat-s] include::{docdir}/rest-api/common-parms.asciidoc[tag=cat-v] [[cat-fielddata-api-example]] ==== {api-examples-title} //// Hidden setup snippet to build an index with fielddata so our results are real: [source,console] -------------------------------------------------- PUT test { "mappings": { "properties": { "body": { "type": "text", "fielddata":true }, "soul": { "type": "text", "fielddata":true }, "mind": { "type": "text", "fielddata":true } } } } POST test/_doc?refresh { "body": "some words so there is a little field data", "soul": "some more words", "mind": "even more words" } # Perform a search to load the field data POST test/_search?sort=body,soul,mind -------------------------------------------------- //// [[cat-fielddata-api-example-ind]] ===== Example with an individual field You can specify an individual field in the request body or URL path. The following `fieldata` API request retrieves heap memory size information for the `body` field. [source,console] -------------------------------------------------- GET /_cat/fielddata?v&fields=body -------------------------------------------------- // TEST[continued] The API returns the following response: [source,txt] -------------------------------------------------- id host ip node field size Nqk-6inXQq-OxUfOUI8jNQ 127.0.0.1 127.0.0.1 Nqk-6in body 544b -------------------------------------------------- // TESTRESPONSE[s/544b|480b/\\d+(\\.\\d+)?[tgmk]?b/] // TESTRESPONSE[s/Nqk-6in[^ ]*/.+/ non_json] [[cat-fielddata-api-example-list]] ===== Example with a list of fields You can specify a comma-separated list of fields in the request body or URL path. The following `fieldata` API request retrieves heap memory size information for the `body` and `soul` fields. [source,console] -------------------------------------------------- GET /_cat/fielddata/body,soul?v -------------------------------------------------- // TEST[continued] The API returns the following response: [source,txt] -------------------------------------------------- id host ip node field size Nqk-6inXQq-OxUfOUI8jNQ 127.0.0.1 127.0.0.1 Nqk-6in body 544b Nqk-6inXQq-OxUfOUI8jNQ 127.0.0.1 127.0.0.1 Nqk-6in soul 480b -------------------------------------------------- // TESTRESPONSE[s/544b|480b/\\d+(\\.\\d+)?[tgmk]?b/] // TESTRESPONSE[s/Nqk-6in[^ ]*/.+/ s/soul|body/\\w+/ non_json] The response shows the individual fielddata for the `body` and `soul` fields, one row per field per node. [[cat-fielddata-api-example-all]] ===== Example with all fields in a cluster The following `fieldata` API request retrieves heap memory size information all fields. [source,console] -------------------------------------------------- GET /_cat/fielddata?v -------------------------------------------------- // TEST[continued] The API returns the following response: [source,txt] -------------------------------------------------- id host ip node field size Nqk-6inXQq-OxUfOUI8jNQ 127.0.0.1 127.0.0.1 Nqk-6in body 544b Nqk-6inXQq-OxUfOUI8jNQ 127.0.0.1 127.0.0.1 Nqk-6in mind 360b Nqk-6inXQq-OxUfOUI8jNQ 127.0.0.1 127.0.0.1 Nqk-6in soul 480b -------------------------------------------------- // TESTRESPONSE[s/544b|480b|360b/\\d+(\\.\\d+)?[tgmk]?b/] // TESTRESPONSE[s/Nqk-6in[^ ]*/.+/ s/soul|body|mind/\\w+/ non_json]