[ 
https://issues.apache.org/jira/browse/NIFI-4625?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16321127#comment-16321127
 ] 

ASF GitHub Bot commented on NIFI-4625:
--------------------------------------

Github user otherview commented on a diff in the pull request:

    https://github.com/apache/nifi/pull/2287#discussion_r160799388
  
    --- Diff: 
nifi-nar-bundles/nifi-elasticsearch-bundle/nifi-elasticsearch-5-processors/src/main/java/org/apache/nifi/processors/elasticsearch/PutElasticsearch5.java
 ---
    @@ -129,6 +130,12 @@
                 .defaultValue("100")
                 .expressionLanguageSupported(true)
                 .build();
    +    
    +    public static final PropertyDescriptor VERSION_ATTRIBUTE = new 
PropertyDescriptor.Builder()
    +                   .name("Version").displayName("Version Attribute")
    +                   .description("The name of the attribute containing the 
version for each FlowFile. Only used for index operation. Forces External 
Versioning")
    +                   
.required(false).expressionLanguageSupported(false).addValidator(StandardValidators.ATTRIBUTE_KEY_VALIDATOR)
    --- End diff --
    
    I think that's the way to go !
    
    It would offer the EL capabilities support, will be handy.
    (Let me just recap) We'd enable Expression Languange support, validated by 
an NON_EMPTY_VALIDATOR. Effectivly allowing for:
    - No Versioning (if Version is not specified)
    - Versioning (if specified)
    - New IDs (if ID is not specified)
    - Using IDs (if specified)
    (Assuming we apply across both ID and Version)
    
    What do you think ?
    
    I'll have a go at this and push some code once I have a bit of free time :) 



> Add External Versioning to PutElasticSearch5 Processor
> ------------------------------------------------------
>
>                 Key: NIFI-4625
>                 URL: https://issues.apache.org/jira/browse/NIFI-4625
>             Project: Apache NiFi
>          Issue Type: Improvement
>          Components: Core Framework
>    Affects Versions: 1.3.0
>         Environment: All
>            Reporter: Pedro Gomes
>            Assignee: Pedro Gomes
>              Labels: elasticsearch, processor
>   Original Estimate: 48h
>  Remaining Estimate: 48h
>
> Currently the PutElasticSearch5 processor does not support external 
> versioning.
> The idea would be to add a property that follows the same logic as the Id 
> property, and allows index documents with an externally controlled version.
> I've changed the code already and added some tests. Right now the changes 
> proposed are:
> - Add a new property Version in the processor block.
> - Change the Index operation to support the versioning number and versioning 
> type = external
> - Check if the versioning is used with other operation types, fail if so.
> (Idea behind this is that the bulk api doest not support external versioning 
> for any other operation except Index)



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to