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.
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 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.
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.
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 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 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.
These are queries that are specific to NEST that make Elasticsearch easier to work with from a strongly typed .NET language.