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

ASF GitHub Bot commented on STORM-974:
--------------------------------------

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

    https://github.com/apache/storm/pull/679#discussion_r37155605
  
    --- Diff: external/storm-elasticsearch/README.md ---
    @@ -6,37 +6,75 @@
     ## EsIndexBolt (org.apache.storm.elasticsearch.bolt.EsIndexBolt)
     
     EsIndexBolt streams tuples directly into Elasticsearch. Tuples are indexed 
in specified index & type combination. 
    -User should make sure that there are "source", "index","type", and "id" 
fields declared in preceding bolts or spout.
    -"index" and "type" fields are used for identifying target index and type.
    +Users should make sure that ```EsTupleMapper``` can extract "source", 
"index", "type", and "id" from input tuple.
    +"index" and "type" are used for identifying target index and type.
     "source" is a document in JSON format string that will be indexed in 
Elasticsearch.
     
     ```java
    +class SampleEsTupleMapper implements EsTupleMapper {
    +    @Override
    +    public String getSource(ITuple tuple) {
    +        return tuple.getStringByField("source");
    +    }
    +
    +    @Override
    +    public String getIndex(ITuple tuple) {
    +        return tuple.getStringByField("index");
    +    }
    +
    +    @Override
    +    public String getType(ITuple tuple) {
    +        return tuple.getStringByField("type");
    +    }
    +
    +    @Override
    +    public String getId(ITuple tuple) {
    +        return tuple.getStringByField("id");
    +    }
    +}
    +
    --- End diff --
    
    How about naming this module as "DefaultEsTupleMapper"?


> [storm-elasticsearch] Introduces Tuple -> ES document mapper to get rid of 
> constant field mapping (source, index, type)
> -----------------------------------------------------------------------------------------------------------------------
>
>                 Key: STORM-974
>                 URL: https://issues.apache.org/jira/browse/STORM-974
>             Project: Apache Storm
>          Issue Type: Improvement
>            Reporter: Jungtaek Lim
>            Assignee: Jungtaek Lim
>
> For now EsIndexBolt uses constant field mapping (source, index, type) which 
> is not flexible.
> We can introduce tuple -> ES document mapper interface to let users define 
> their relationship, as other external modules did.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to