RE: Re: Request to provide example codes on ElasticsearchSinkFunction updaterequest

2024-01-29 Thread Jiabao Sun
Hi Fidea,

When specifying an ID, the IndexedRequest[1] can perform a complete overwrite. 
If partial update is needed, the UpdateRequest[2] can be used.

@Override
public void process(
Tuple2 element, RuntimeContext ctx, RequestIndexer 
indexer) {
UpdateRequest updateRequest = new UpdateRequest("index-name", "id-123");
Map jsonMap = new HashMap<>();
jsonMap.put("updated", new Date());
jsonMap.put("reason", "daily update");
updateRequest.doc(jsonMap);
indexer.add(updateRequest);
}


Best,
Jiabao

[1] 
https://www.elastic.co/guide/en/elasticsearch/client/java-rest/current/java-rest-high-document-index.html
[2] 
https://www.elastic.co/guide/en/elasticsearch/client/java-rest/current/java-rest-high-document-update.html


On 2024/01/29 16:14:26 Fidea Lidea wrote:
> Hi  Jiabao & Jiadong,
> 
> Could you please share examples on how to "*update*" data using
> ElasticsearchSink?
> 
> Thanks
> 
> On Mon, Jan 29, 2024 at 9:07 PM Jiabao Sun  wrote:
> 
> > Hi Fidea,
> >
> > I found some examples in the Java documentation, and I hope they can be
> > helpful.
> >
> > private static class TestElasticSearchSinkFunction implements
> > ElasticsearchSinkFunction> {
> > public IndexRequest createIndexRequest(Tuple2
> > element) {
> > Map json = new HashMap<>();
> > json.put("data", element.f1);
> > return Requests
> > .indexRequest()
> > .index("my-index")
> > .type("my-type")
> > .id(element.f0.toString())
> > .source(json);
> > }
> >
> > public void process(
> > Tuple2 element,
> > RuntimeContext ctx,
> > RequestIndexer indexer) {
> > indexer.add(createIndexRequest(element));
> > }
> > }
> >
> > But as jiadong mentioned, ElasticsearchSinkFunction is no longer
> > recommended for use.
> >
> > Best,
> > Jiabao
> >
> >
> > On 2024/01/29 11:15:43 Fidea Lidea wrote:
> > > Hi Team,
> > >
> > > Could you please share with me a few example codes on  how to perform
> > > "updaterequest on elasticsearch using apache flink"
> > > I.want to use  ElasticsearchSinkFunction to perform updaterequest.
> > >
> > > Thanks
> > > Nida Shaikh
> > > lideafidea...@gmail.com
> > >
> 

Re: Request to provide example codes on ElasticsearchSinkFunction updaterequest

2024-01-29 Thread Fidea Lidea
Hi  Jiabao & Jiadong,

Could you please share examples on how to "*update*" data using
ElasticsearchSink?

Thanks

On Mon, Jan 29, 2024 at 9:07 PM Jiabao Sun  wrote:

> Hi Fidea,
>
> I found some examples in the Java documentation, and I hope they can be
> helpful.
>
> private static class TestElasticSearchSinkFunction implements
> ElasticsearchSinkFunction> {
> public IndexRequest createIndexRequest(Tuple2
> element) {
> Map json = new HashMap<>();
> json.put("data", element.f1);
> return Requests
> .indexRequest()
> .index("my-index")
> .type("my-type")
> .id(element.f0.toString())
> .source(json);
> }
>
> public void process(
> Tuple2 element,
> RuntimeContext ctx,
> RequestIndexer indexer) {
> indexer.add(createIndexRequest(element));
> }
> }
>
> But as jiadong mentioned, ElasticsearchSinkFunction is no longer
> recommended for use.
>
> Best,
> Jiabao
>
>
> On 2024/01/29 11:15:43 Fidea Lidea wrote:
> > Hi Team,
> >
> > Could you please share with me a few example codes on  how to perform
> > "updaterequest on elasticsearch using apache flink"
> > I.want to use  ElasticsearchSinkFunction to perform updaterequest.
> >
> > Thanks
> > Nida Shaikh
> > lideafidea...@gmail.com
> >


RE: Request to provide example codes on ElasticsearchSinkFunction updaterequest

2024-01-29 Thread Jiabao Sun
Hi Fidea,

I found some examples in the Java documentation, and I hope they can be 
helpful. 

private static class TestElasticSearchSinkFunction implements 
ElasticsearchSinkFunction> {
public IndexRequest createIndexRequest(Tuple2 element) {
Map json = new HashMap<>();
json.put("data", element.f1);
return Requests
.indexRequest()
.index("my-index")
.type("my-type")
.id(element.f0.toString())
.source(json);
}

public void process(
Tuple2 element,
RuntimeContext ctx,
RequestIndexer indexer) {
indexer.add(createIndexRequest(element));
}
}

But as jiadong mentioned, ElasticsearchSinkFunction is no longer recommended 
for use. 

Best,
Jiabao


On 2024/01/29 11:15:43 Fidea Lidea wrote:
> Hi Team,
> 
> Could you please share with me a few example codes on  how to perform
> "updaterequest on elasticsearch using apache flink"
> I.want to use  ElasticsearchSinkFunction to perform updaterequest.
> 
> Thanks
> Nida Shaikh
> lideafidea...@gmail.com
> 

Re: Request to provide example codes on ElasticsearchSinkFunction updaterequest

2024-01-29 Thread jiadong.lu

Hi, Fidea.
The ElasticsearchSinkFunction Class has already marked as deprecated[1], 
please try to use ElasticsearchSink Class.


Hope to help you.

Best.
Jiadong.Lu

1. 
https://github.com/apache/flink-connector-elasticsearch/blob/153b8fc23e14c03c4bacf2c24fbe0fee286ec6e2/flink-connector-elasticsearch-base/src/main/java/org/apache/flink/streaming/connectors/elasticsearch/ElasticsearchSinkFunction.java#L63
2. 
https://github.com/apache/flink-connector-elasticsearch/blob/153b8fc23e14c03c4bacf2c24fbe0fee286ec6e2/flink-connector-elasticsearch-base/src/main/java/org/apache/flink/connector/elasticsearch/sink/ElasticsearchSink.java#L56C14-L56C31


On 1/29/24 19:15, Fidea Lidea wrote:

Hi Team,

Could you please share with me a few example codes on  how to perform 
"updaterequest on elasticsearch using apache flink"

I.want to use |ElasticsearchSinkFunction| to perform updaterequest.

Thanks
Nida Shaikh
lideafidea...@gmail.com 


Request to provide example codes on ElasticsearchSinkFunction updaterequest

2024-01-29 Thread Fidea Lidea
Hi Team,

Could you please share with me a few example codes on  how to perform
"updaterequest on elasticsearch using apache flink"
I.want to use  ElasticsearchSinkFunction to perform updaterequest.

Thanks
Nida Shaikh
lideafidea...@gmail.com