Skip to main content

DSL Compatibility Matrix

Compatibility of every Turing ES DSL Query feature across the three supported search engine backends.

Legend

BadgeLevelDescription
NNativeDirect 1:1 mapping to the engine API
TTranslatedConverted to equivalent engine syntax
PPartialBasic support with limitations
FFallbackBest-effort approximation
N/ANot supported by the engine

Queries (40 types)

Full-text Queries

QueryESSolrLucene
matchNTT
multi_matchNTT
match_phraseNTT
match_phrase_prefixNTT
match_bool_prefixNTT
combined_fieldsNTT
query_stringNTT
simple_query_stringNTT
match_allNTT

Term-level Queries

QueryESSolrLucene
termNTT
termsNTT
terms_setNFF
rangeNTT
existsNTT
prefixNTT
wildcardNTT
regexpNTT
fuzzyNTT
idsNTT

Compound Queries

QueryESSolrLucene
boolNTT
constant_scoreNTT
dis_maxNTT
boostingNTT
function_scoreNPP
script_scoreNFF
pinnedNTT

Nested & Join Queries

QueryESSolrLucene
nestedNFF
has_childNFF
has_parentNFF

Geo Queries

QueryESSolrLucene
geo_distanceNTF
geo_bounding_boxNTF
geo_shapeNFF
QueryESSolrLucene
knnNTN

Span Queries

QueryESSolrLucene
span_termNTT
span_nearNTT
span_orNTT
span_notNTT
span_firstNFF

Specialized Queries

QueryESSolrLucene
more_like_thisNTT
intervalsNTT
rank_featureNFT
distance_featureNFF
wrapperNFF
percolateNFF

Aggregations (35 types)

Bucket Aggregations

AggregationESSolrLucene
termsNTT
rangeNT
date_histogramN
histogramN
filterNTT
filtersNTT
significant_termsNTT
rare_termsNPT
nestedN
reverse_nestedN
auto_date_histogramN
multi_termsN
compositeN
samplerN
diversified_samplerN
adjacency_matrixN
geo_distanceN
variable_width_histogramN

Metric Aggregations

AggregationESSolrLucene
avgNTT
sumNTT
minNTT
maxNTT
cardinalityNTT
value_countNTT
statsNTT
extended_statsNTT
percentilesNTT
percentile_ranksNTT
top_hitsN
top_metricsN
median_absolute_deviationN
boxplotN
string_statsN
matrix_statsN
t_testN
rateN
scripted_metricN
geo_boundsN
geo_centroidN

Request Features (29 fields)

FeatureESSolrLucene
from / sizeNTT
sortNTT
_sourceNTT
highlightNTT
aggsNTT
post_filterNTT
min_scoreNTP
search_afterN
collapseNT
suggestNP
rescoreNP
timeoutNT
explainNT
script_fieldsN
indices_boostN
track_total_hitsNTT
stored_fieldsNT
scrollN
profileN
pitN
docvalue_fieldsN
versionN
seq_no_primary_termN
preferenceN
routingN
terminate_afterN

Response Fields

FieldESSolrLucene
tookNTT
timed_outNTT
hits.totalNTT
hits.max_scoreNTT
hits._idNTT
hits._scoreNTT
hits._sourceNTT
hits.highlightNTT
hits._explanationN
hits.fieldsN
hits._versionN
hits._seq_noN
hits.sortN
aggregationsNTT
suggestN
_scroll_idN
profileN
_shardsN

Coverage Summary

CategoryTotalESSolrLucene
Queries40N 100%T 100%T 100%
Aggregations35N 100%T 49%T 31%
Request Features29N 100%T 41%T 21%
Response Fields18N 100%T 44%T 44%
Recommendation

For full DSL compatibility, use Elasticsearch as the search engine backend. Solr and Lucene provide excellent coverage for the most common queries and aggregations, with best-effort translations for advanced features.


Engine Selection Guide

Use CaseRecommended
Full Elasticsearch DSL compatibilityN Elasticsearch
Production enterprise search with Solr infrastructureT Solr
Embedded search without external dependenciesT Lucene
Vector / semantic search (knn)N ES or N Lucene
Advanced aggregations (composite, nested, geo)N Elasticsearch
Simple faceted search with metric aggsT Solr or T Lucene

See Also