-- :api: find-structure :request: FindStructureRequest :response: FindStructureResponse -- [role="xpack"] [id="{upid}-{api}"] === Find structure API experimental::[] Determines the structure of text and other information that will be useful to import its contents to an {es} index. It accepts a +{request}+ object and responds with a +{response}+ object. [id="{upid}-{api}-request"] ==== Find structure request A sample of the text to analyze must be added to the +{request}+ object using the `FindStructureRequest#setSample` method. ["source","java",subs="attributes,callouts,macros"] -------------------------------------------------- include-tagged::{doc-tests-file}[{api}-request] -------------------------------------------------- <1> Create a new `FindStructureRequest` object <2> Add the contents of `anInterestingFile` to the request ==== Optional arguments The following arguments are optional. ["source","java",subs="attributes,callouts,macros"] -------------------------------------------------- include-tagged::{doc-tests-file}[{api}-request-options] -------------------------------------------------- <1> Set the maximum number of lines to sample (the entire sample will be used if it contains fewer lines) <2> Request that an explanation of the analysis be returned in the response include::../execution.asciidoc[] [id="{upid}-{api}-response"] ==== Find structure response A +{response}+ contains information about the text structure, as well as mappings and an ingest pipeline that could be used to index the contents into {es}. ["source","java",subs="attributes,callouts,macros"] -------------------------------------------------- include-tagged::{doc-tests-file}[{api}-response] -------------------------------------------------- <1> The `TextStructure` object contains the structure information