123456789101112131415161718192021222324252627282930313233343536373839404142 |
- [[query-dsl]]
- = Query DSL
- [partintro]
- --
- *elasticsearch* provides a full Query DSL based on JSON to define
- queries. In general, there are basic queries such as
- <<query-dsl-term-query,term>> or
- <<query-dsl-prefix-query,prefix>>. There are
- also compound queries like the
- <<query-dsl-bool-query,bool>> query. Queries can
- also have filters associated with them such as the
- <<query-dsl-filtered-query,filtered>> or
- <<query-dsl-constant-score-query,constant_score>>
- queries, with specific filter queries.
- Think of the Query DSL as an AST of queries. Certain queries can contain
- other queries (like the
- <<query-dsl-bool-query,bool>> query), others can
- contain filters (like the
- <<query-dsl-constant-score-query,constant_score>>),
- and some can contain both a query and a filter (like the
- <<query-dsl-filtered-query,filtered>>). Each of
- those can contain *any* query of the list of queries or *any* filter
- from the list of filters, resulting in the ability to build quite
- complex (and interesting) queries.
- Both queries and filters can be used in different APIs. For example,
- within a <<search-request-query,search query>>, or
- as an <<search-aggregations-bucket-filter-aggregation,aggregation filter>>.
- This section explains the components (queries and filters) that can form the
- AST one can use.
- Filters are very handy since they perform an order of magnitude better
- than plain queries since no scoring is performed and they are
- automatically cached.
- --
- include::query-dsl/queries.asciidoc[]
- include::query-dsl/filters.asciidoc[]
|