With older version of stretchy-model it was relatively easy to provide common functionality between OpenSearch and Elasticsearch, however the features have started to diverge in pretty significant ways.
Additionally, elasticsearch-persistence has fallen behind and currently only supports Elasticsearch 7. This means the additional namespaces in the elasticsearch-api gem aren't available and is why we currently patch them into the client.
For opensearch-ruby it is a similar situation.
Pull Requests need to be made to use 'elasticsearch', '~> 8'
elasticsearch-rails
elasticsearch-persistence
elasticsearch-model
Pull Request for opensearch-ruby to add the namespaces for new features in 2.12
But that's not even the issue
I think we should be more explicit about what backend we're using with stretchy-model and break out support into separate plugin gems. This would help keep tests focused and allow stretchy-model to provide a unified interface for things like Opensearch's ml commons and Elasticsearch's ML implementation.
With older version of
stretchy-model
it was relatively easy to provide common functionality between OpenSearch and Elasticsearch, however the features have started to diverge in pretty significant ways.Additionally,
elasticsearch-persistence
has fallen behind and currently only supports Elasticsearch 7. This means the additional namespaces in theelasticsearch-api
gem aren't available and is why we currently patch them into the client.For
opensearch-ruby
it is a similar situation.Pull Requests need to be made to use
'elasticsearch', '~> 8'
elasticsearch-rails
elasticsearch-persistence
elasticsearch-model
Pull Request for
opensearch-ruby
to add the namespaces for new features in2.12
But that's not even the issue
I think we should be more explicit about what backend we're using with
stretchy-model
and break out support into separate plugin gems. This would help keep tests focused and allowstretchy-model
to provide a unified interface for things like Opensearch'sml commons
and Elasticsearch'sML
implementation.stretchy-elasticsearch
stretchy-opensearch