Comments (5)
Hi @landlord-matt,
With the recent 8.13.*
releases, the 8.*
client does now support about 95% of the native Elasticsearch features.
If you never used NEST, you probably won't miss anything.
If you have used NEST before, you might notice that some of the helper functions / convenience features are missing. These are built on top of the native functionality and not ported over to the new client (yet). I will bring back some of the functionality over time, but definitely not anything 🙂 An example would be the auto-mapping feature that allowed you to automatically infer Elasticsearch types from CLR types for index creation etc.
Does that answer your question?
Pointing to the migration guide is still valid, because of the missing convenience features and the fundamentally changed architecture. However, this is only a concern if you migrate from NEST
to Elastic.Clients.Elasticsearch
.
from elasticsearch-net.
Hi @RomBrz
could you tell me where i could look to know if this 95% at april/24 is improved?
I will release a reference documentation (xmldoc rendered by DocFx) shortly. You could use that to compare the API surface of the latest version with the API surface of a pre 8.13 one. This should give you an idea of what has been added in the 8.13.x release.
If the feature parity with NEST now is 100%,
This is not the case and won't ever be the case. The reasons for this are explained in e.g. the migration guide or the 8.0 release notes.
The 95% coverage is about the REST API surface of Elasticsearch. E.g. in the 8.12 client many aggregations were missing which are now supported in 8.13+. Most NEST high level helper functions are not available in the v8 client and some of them will never get re-implemented by design.
My above comment is still valid:
If you have used NEST before, you might notice that some of the helper functions / convenience features are missing. These are built on top of the native functionality and not ported over to the new client (yet). I will bring back some of the functionality over time, but definitely not anything 🙂 An example would be the auto-mapping feature that allowed you to automatically infer Elasticsearch types from CLR types for index creation etc.
the best approach would be update the Client from 7 to 8 while using the 7 Server. When the code is migrated, than migrate the server from 7 to 8 and just point the code to the 8 Server
This is definitely recommended as NEST (v7) will be end-of-life at the end of this year.
The "compatibility mode" on Elastic Server 8 is still working OK with the latest Elastic.Net 7 Client?
Yes.
another approach would be to migrate the server first and put it on compatibility mode ON, than the systems that use Elastic Server could start to migrate the Client from 7 to 8 to use in native mode instead of compatibility mode.
This is possible as well, but the client-first approach is probably easier.
from elasticsearch-net.
This issue is stale because it has been open 5 days with no activity. Remove stale label or comment or this will be closed in 2 days.
from elasticsearch-net.
This issue was closed because it has been stalled for 2 days with no activity.
from elasticsearch-net.
@flobernd could you tell me where i could look to know if this 95% at april/24 is improved?
I'm doing a study to document the platform clients lifecycle and versions, and the ElasticSearch documentation made me a bit confused about migration from Elastic 7 to 8 (both on servers and client sides) considering that much of the documentation talks about the launch date (2022).
One of the sources is this (https://www.elastic.co/guide/en/elasticsearch/client/net-api/current/migration-guide.html) but seems to be made at 8.0 launch (https://www.elastic.co/guide/en/elasticsearch/client/net-api/8.0/migration-guide.html), since the 8.0 and "current" versions have the exact same text.
Right now, if i have a system using Elastic.Net 7 connecting to ElasticSearch Server 7, what should be the best approach to migrate both client and server to 8?
If the feature parity with NEST now is 100%, i understand that the best approach would be update the Client from 7 to 8 while using the 7 Server. When the code is migrated, than migrate the server from 7 to 8 and just point the code to the 8 Server.
The "compatibility mode" on Elastic Server 8 is still working OK with the latest Elastic.Net 7 Client? (Considering that the latest version is from 10/2022).
If it is 100% parity, another approach would be to migrate the server first and put it on compatibility mode ON, than the systems that use Elastic Server could start to migrate the Client from 7 to 8 to use in native mode instead of compatibility mode.
Thanks!
from elasticsearch-net.
Related Issues (20)
- 8.15.6 - General API Feedback while upgrading from NEST. HOT 2
- SearchResponse.Documents throws null reference exception on successful call
- Fluent API Documentation missing
- Feature request to add back || and &&. Or to allow for dynamic building and joining of queries HOT 3
- Feature request to publish JsonNetSerializer HOT 1
- 8.15.6 - Term/Terms Filtering feedback HOT 1
- 8.15.6 - TermQuery / TermsQuery inconsistencies and feedback HOT 6
- 8.15.6: TypeMappingDescriptor Dynamic Feedback HOT 3
- Fix implicit conversion for `Union`
- 8.15.6 - QueryDescriptor Operand/Operator (!, ||, &&) overloads HOT 1
- Consolidate usage of `FluentDescriptorDictionary` HOT 3
- 8.15.6 - Sorting Feedback
- Add support for Cluster update settings API HOT 2
- GetSettings doesn't publicly expose the result HOT 3
- SearchResponse and ScrollResponse do not have a common base class HOT 2
- illegal_argument_exception when calling the Field Capabilities API HOT 1
- Make it possible to do a MultiSearch with different types HOT 2
- Usability improvements (meta issue)
- `PropertyNamingPolicy` from `JsonSerializerOptions` of the `DefaultSourceSerializer` is not applied for mappings HOT 1
- Fluent configuration of `Remove` processor on `PutPipelineRequestDescriptor` doesn't support field descriptor HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from elasticsearch-net.