Skip to content

Latest commit

 

History

History
127 lines (76 loc) · 4.29 KB

query-dsl.asciidoc

File metadata and controls

127 lines (76 loc) · 4.29 KB

Query DSL

Full text queries

The high-level full text queries are usually used for running full text queries on full text fields like the body of an email. They understand how the field being queried is analyzed and will apply each field’s analyzer (or search_analyzer) to the query string before executing.

NEST exposes all of the full text queries available in Elasticsearch

See the Elasticsearch documentation on {ref_current}/full-text-queries.html[Full text queries] for more details.

Term level queries

While the full text queries will analyze the query string before executing, the term-level queries operate on the exact terms that are stored in the inverted index.

These queries are usually used for structured data like numbers, dates, and enums, rather than full text fields. Alternatively, they allow you to craft low-level queries, foregoing the analysis process.

NEST exposes all of the term queries available in Elasticsearch

See the Elasticsearch documentation on {ref_current}/term-level-queries.html[Term level queries] for more details.

Compound queries

Compound queries wrap other compound or leaf queries, either to combine their results and scores, to change their behaviour, or to switch from query to filter context.

NEST exposes all of the term queries available in Elasticsearch

See the Elasticsearch documentation on {ref_current}/compound-queries.html[Compound queries] for more details.

Joining queries

Performing full SQL-style joins in a distributed system like Elasticsearch is prohibitively expensive. Instead, Elasticsearch offers two forms of join which are designed to scale horizontally.

See the Elasticsearch documentation on {ref_current}/joining-queries.html[Joining queries] for more details.

Geo queries

Elasticsearch supports many different types of geospatial queries, operating on {ref_current}/geo-point.html[geo_point] fields which support lat/lon pairs, and {ref_current}/geo-shape.html[geo_shape] fields, which support points, lines, circles, polygons, multi-polygons etc.

See the Elasticsearch documentation on {ref_current}/geo-queries.html[Geo queries] for more details.

Specialized queries

Specialized types of queries that do not fit into other groups

See the Elasticsearch documentation on {ref_current}/specialized-queries.html[Specialized queries] for more details.

Span queries

Span queries are low-level positional queries which provide expert control over the order and proximity of the specified terms. These are typically used to implement very specific queries on legal documents or patents.

Span queries cannot be mixed with non-span queries (with the exception of the span_multi query).

See the Elasticsearch documentation on {ref_current}/span-queries.html[Span queries] for more details.

NEST specific queries

These are queries that are specific to NEST that make Elasticsearch easier to work with from a strongly typed .NET language.