Versions (relevant - OpenSearch/Dashboard/Server OS/Browser):
@opensearch-project/opensearch": “^2.4.0”
Describe the issue:
We have recently migrated from Elasticsearch to Opensearch. We have substituted @elastic/elasticsearch for @opensearch-project/opensearch.
Since some of our queries are quite complex, we have made use of the types provided by @elastic/elasticsearch so they can be checked by TypeScript.
I am not sure if I understand the opensearch client types correctly. The query’s body just seems to be an object with string keys Record<string, any>
, see opensearch-js/api/requestParams.d.ts at 4da9a4bacca35a23e3f5b0616762c8de7f763fdb · opensearch-project/opensearch-js · GitHub
So there are no checks if a property actually exists.
Looking at the interface Search
, I am a bit confused since I put the whole query (including from
, size
etc.) in body
but there are properties like from
and size
on the same level as body
, see opensearch-js/api/requestParams.d.ts at 4da9a4bacca35a23e3f5b0616762c8de7f763fdb · opensearch-project/opensearch-js · GitHub .
Has anyone recently made the same migration and would share the experience made?