elasticsearch-dsl-py icon indicating copy to clipboard operation
elasticsearch-dsl-py copied to clipboard

When will there be a release for 8.0.0?

Open duyongan opened this issue 2 years ago • 16 comments

[Ann vector search] is attractive. I have tried es-py 8.0,but I am used to use dsl-py. when can this project release 8.0.0

duyongan avatar Feb 16 '22 14:02 duyongan

There's a lot of work that needs to go into an 8.0.0 release of elasticsearch-dsl. For now you can use the knn_search API directly on the Elasticsearch instance.

sethmlarson avatar Feb 16 '22 14:02 sethmlarson

Can we get a release with the current code? @sethmlarson I am trying to use the combined_fields query which was recently introduced

allisonsuarez avatar Feb 24 '22 18:02 allisonsuarez

^ @Telomeraz

allisonsuarez avatar Feb 24 '22 19:02 allisonsuarez

Seeing as ES-8x is now pretty stable, it would be great to have a DSL-8.x release. We have jobs that rely on DSL and we are not sure if existing DSL-7.4 will be able to talk to ES-8.x. So our plans to update ES to 8.x are dependent on there being a DSL-8.x. Can we use DSL-Py-7.4 safely with upgraded Elasticsearch?

redbaron4 avatar Mar 10 '22 09:03 redbaron4

I want to volunteer for the works that need to be done for an 8.0.0 release of elasticsearch-dsl. I just need some guidance about what works needs to be done. @sethmlarson

Telomeraz avatar Mar 14 '22 19:03 Telomeraz

I don't think transitioning to ES8 should be too hard, I think in pretty much all places that es.some.api_call(kwarg="something", body=self.to_dict()) can simply be replaced with es.some.api_call(kwarg="something", **self.to_dict()) and then that should be it?

The part that might require some more code change is transitioning the tests codebase. It looks like this project is importing elasticsearch.helpers.test, which has been deleted from elasticsearch, so something else entirely needs to be done there.

ghost avatar May 20 '22 10:05 ghost

Any progress on this?

alexnorgaard avatar May 25 '22 13:05 alexnorgaard

I also need the MultiTerms aggregation that was recently included :(

pedroyzkrak avatar Jun 11 '22 00:06 pedroyzkrak

I would also like to know if there is any progress on having elastcisearch-dsl compatible with ES 8.x.x ?

gbarsky avatar Jul 21 '22 15:07 gbarsky

Someone knows an alternative for the elasticsearch-dsl-py package for the 8.x versions?

nis267 avatar Aug 15 '22 14:08 nis267

@pedroyzkrak I worked around the missing MultiTerms by simply defining the following in my own scope:

from elasticsearch_dsl.aggs import Bucket
class MultiTerms(Bucket):  # noqa
   name = "multi_terms"

It seems, the meta-classes in the Bucket class hierarchy takes care of the rest. Afterwards I was able to add aggregations as follows:

 search.aggs.bucket(
   "material_type_and_collection",
   {
      "multi_terms": {
          "size": 50000,
          ...
      }
   }
)

MRuecklCC avatar Aug 24 '22 13:08 MRuecklCC

Sorry folks that there hasn't been any update on official 8.x support. I can't make guarantees about when it will come, but it is something that is in our mind. We're currently training our new Python client maintainer and so she is focused on mostly the Elasticsearch Python client currently.

If you'd like to use the elasticsearch-dsl library with an 8.0+ cluster you can configure the client to use 7.x compatibility mode and should work seamlessly with the 7.x version of elasticsearch-dsl.

sethmlarson avatar Aug 24 '22 13:08 sethmlarson

I want to chime in on this issue too, I just install the latest version of elasticsearch-dsl and after that upgrade to the latest version of elasticsearch example: pip3 install elasticsearch-dsl --upgrade pip3 install elasticsearch>8 --upgrade

so far everything I have done works perfectly, but I won't pretend that I did a full feature test

WildDogOne avatar Sep 22 '22 18:09 WildDogOne

Any way to not force the elasticsearch>=7.0.0,<8.0.0 here? Since we are using both elasticsearch package and we want to upgrade to v8+, we can't do it because versions are not compatible. I am planning to enable compatibility mode after the update, but with this hard limitation, we can't really build Docker images in a reliable way.

PlugaruT avatar Sep 28 '22 10:09 PlugaruT

@PlugaruT You can clone the source, edit the file and change version to anything unreleased (7.4.1 or 7.5 or even 7.9.9). Then build the python package and use it directly (maybe even upload it to a local PyPI repo within organization). We are using this workaround as a stop-gap.

redbaron4 avatar Sep 28 '22 10:09 redbaron4

Can you just release candidate for version 8.0 with this constraint removed ? I think life of many people would just improve..

gslusarek-cic avatar Oct 05 '22 20:10 gslusarek-cic

Hello,

any news on this topic? We're on elasticsearch v8.5.3 by now, it would be very much appreciated to get elasticsearch-dsl-py compatible again. It's blocking an ES upgrade from v7 to v8 for us, and I can imagine we're not alone. At this point it's starting to look a bit abandoned?

jgb

jgb avatar Dec 12 '22 09:12 jgb

It does indeed look abandoned. Which is strange, since according to the docs, it is the recommended go-to API if you don't want to mess with the low-level client. Funnily, this is still true for the 8.5 docs: https://www.elastic.co/guide/en/elasticsearch/client/python-api/8.5/overview.html#_elasticsearch_dsl

phoerious avatar Dec 12 '22 19:12 phoerious

any news?

ecdb-mherrmann avatar Jan 25 '23 12:01 ecdb-mherrmann

Over a year later, nothing ...

ColeDCrawford avatar Feb 28 '23 21:02 ColeDCrawford

That’s what I call a dead parrot.

mcepl avatar Feb 28 '23 22:02 mcepl

well the original statements still hold true, it works, just it's not supported ;) But I agree, it should really be updated, no idea why this is so dead

WildDogOne avatar Mar 01 '23 13:03 WildDogOne

This library was the main reason why I moved from AWS elasticsearch to Elastic's own cloud service (after Amazon started OpenSearch). Really would like to continue with it.

In the meantime, Amazon created opensearch-dsl-py, however they have deprecated it…

The OpenSearch high-level Python client (opensearch-dsl-py) will be deprecated after version 2.1.0. We recommend switching to the Python client (opensearch-py), which now includes the functionality of opensearch-dsl-py.

atlasstrategic avatar Mar 22 '23 09:03 atlasstrategic

I love the DSL - what can I do to help the team get 8.X.X support?

hatdropper1977 avatar Mar 23 '23 14:03 hatdropper1977

@sethmlarson still no news on this topic? Is this library abandoned or will it still get an official release for v8?

jgb avatar Mar 28 '23 08:03 jgb

@sethmlarson any news on this? If this library is indeed deprecated, or there is no capability to officially support this, maybe select and pass this to other maintainers. This is literally in your docs as an official go-to way for Python + Elasticsearch, and does not work over a year after release of Elasticsearch 8.0.

j-adamczyk avatar Apr 24 '23 09:04 j-adamczyk

@sethmlarson I know you've been pinged a lot, so I apologize, but any word (yay or nay) about whether or not the DSL library will get support for ES8 would be great. Even if the answer is "no, we're not updating it", that would still be helpful to know because it would be a definitive answer for us about whether or not we should start rewriting existing DSL code without the DSL. Thank you

MartinAkram avatar Jun 08 '23 17:06 MartinAkram

There was a relevant update from @ezimuel in https://github.com/elastic/elasticsearch-dsl-py/issues/1652

jgb avatar Jul 13 '23 10:07 jgb

And 1 month after stating that this library is still supported and that work will continue, still not a single commit was made. Sigh.

jgb avatar Aug 07 '23 08:08 jgb

how is it even possible that a repository with such a big company in the back is being treated like that... i mean even if they decide to transform all of this into a payable solution, this would definitely not be intelligent marketing...

sla-te avatar Aug 07 '23 09:08 sla-te