summaryrefslogtreecommitdiff
path: root/docs/reference/query-dsl.asciidoc
diff options
context:
space:
mode:
Diffstat (limited to 'docs/reference/query-dsl.asciidoc')
-rw-r--r--docs/reference/query-dsl.asciidoc42
1 files changed, 42 insertions, 0 deletions
diff --git a/docs/reference/query-dsl.asciidoc b/docs/reference/query-dsl.asciidoc
new file mode 100644
index 0000000..32c1fb5
--- /dev/null
+++ b/docs/reference/query-dsl.asciidoc
@@ -0,0 +1,42 @@
+[[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 a <<search-facets,facet 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[]