What Gets Converted
The table below summarizes which OpenSearch Benchmark constructs are automatically converted, which require manual review, and which are skipped with a TODO comment.
Automatically converted
| Construct | Conversion |
|---|---|
"indices" key in workload.json |
Renamed to "collections" |
create-index operation type |
→ create-collection |
delete-index operation type |
→ delete-collection |
Simple match queries |
Converted to Solr JSON DSL equivalent |
term / terms queries |
Converted to Solr query string or {!terms} local params |
range queries |
Converted to Solr range filter with ISO 8601 dates |
bool queries (must / filter / should / must_not) |
Converted to Solr bool query parser |
Date ranges with format parameter |
Dates parsed per format and written as ISO 8601 |
terms aggregations |
Converted to Solr terms facet |
date_histogram aggregations |
Converted to Solr range facet with calendar gap |
avg / sum / min / max aggregations |
Converted to Solr function query stats |
Requires manual review
These constructs are flagged in CONVERTED.md but not automatically converted:
| Construct | Reason |
|---|---|
script_score queries |
No direct Solr equivalent; requires a custom function query |
| Complex nested aggregations (3+ levels) | Auto-translation may be incomplete; verify output |
| Custom analyzers in mapping | Configset schema.xml must be created manually |
multi_match queries |
Partially converted; review field list for Solr equivalents |
Skipped (with TODO comment)
These operations are not meaningful in Apache Solr and are replaced with a // TODO comment in the output:
| Construct | Action |
|---|---|
cluster-health |
Not applicable to Solr |
| OpenSearch ML Commons operations | Not applicable to Solr |
close-index / open-index |
Not applicable to Solr |
Vector search operations (knn, approximate_knn) |
Solr uses different vector search syntax; manual conversion required |
Date format mapping
When OpenSearch range queries include a format parameter, the converter maps date format strings to Python strptime patterns:
| OpenSearch format | Python pattern |
|---|---|
dd/MM/yyyy |
%d/%m/%Y |
MM/dd/yyyy |
%m/%d/%Y |
yyyy-MM-dd |
%Y-%m-%d |
dd-MM-yyyy |
%d-%m-%Y |
yyyyMMdd |
%Y%m%d |
Dates are converted to Solr ISO 8601 format: YYYY-MM-DDTHH:MM:SSZ.