-
Notifications
You must be signed in to change notification settings - Fork 533
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[INLONG-4659][Sort] Support field routing for Elasticsearch connector #4849
Conversation
@Oneal65 there are UTs failed, please check again. |
1.The problem background needs to be added. |
@GanfengTan Now, you can see it In Background, Design ideas and others |
@dockerzhang DONE |
...arch-base/src/main/java/org/apache/inlong/sort/elasticsearch/table/ElasticsearchOptions.java
Show resolved
Hide resolved
...rch-base/src/main/java/org/apache/inlong/sort/elasticsearch/table/IndexGeneratorFactory.java
Show resolved
Hide resolved
...rch-base/src/main/java/org/apache/inlong/sort/elasticsearch/table/IndexGeneratorFactory.java
Show resolved
Hide resolved
...lasticsearch-base/src/main/java/org/apache/inlong/sort/elasticsearch/table/KeyExtractor.java
Show resolved
Hide resolved
...rt-common/src/main/java/org/apache/inlong/sort/protocol/node/load/ElasticsearchLoadNode.java
Outdated
Show resolved
Hide resolved
please unify all the dependency versions for the |
@dockerzhang done |
Prepare a Pull Request
Motivation
Support field routing for ElasticSearch connector
Modifications
according to https://github.com/apache/flink/pull/14493/files
and https://github.com/apache/flink/tree/release-1.13.2-rc2
modify the whole sort-connector-elasticsearch6 and sort-connector-elasticsearch7 code
and add sort-connector-elasticsearch-base module
Background, Design ideas and others
Background: the field routing concept, there are some URLs:
https://www.cnblogs.com/bonelee/p/6055340.html
https://www.cnblogs.com/Rawls/p/10269192.html
Design ideas:
the routing function has been supported By ElasticSearch. What we should do is add this feature to the connector.
the main logic is in RoutingExtractor class
this PR is refer to:
https://github.com/apache/flink/pull/14493/files
https://github.com/apache/flink/tree/release-1.13.2-rc2
Verifying this change
This change added tests and can be verified as follows:
Elasticsearch6DynamicSinkITCase.java
Elasticsearch7DynamicSinkITCase.java
TestContext.java
Documentation