Github user sweetest commented on a diff in the pull request: https://github.com/apache/storm/pull/573#discussion_r32908774 --- Diff: external/storm-elasticsearch/README.md --- @@ -0,0 +1,71 @@ +# Storm ElasticSearch Bolt & Trident State + + EsIndexBolt, EsPercolateBolt and EsState allows users to stream data from storm into ElasticSearch directly. + For detailed description, please refer to the following. + +## 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 "index","type", and "source" fields declared in preceding bolts or spout. +"index" and "type" fields are used for identifying target index and type. +"source" is a document in JSON format string that will be indexed in elastic search. + +```java +EsConfig esConfig = new EsConfig(); +esConfig.setClusterName(clusterName); +esConfig.setHost(new String[]{"localhost"}); +esConfig.setPort(9300); +EsIndexBolt indexBolt = new IndexBolt(esConfig); +``` + +## EsPercolateBolt (org.apache.storm.elasticsearch.bolt.EsPercolateBolt) + +EsPercolateBolt streams tuples directly into ElasticSearch. Tuples are used to send percolate request to specified index & type combination. +User should make sure that there are "index","type", and "source" fields declared in preceding bolts or spout. +"index" and "type" fields are used for identifying target index and type. +"source" is a document in JSON format string that will be sent in percolate request to elastic search. + +```java +EsConfig esConfig = new EsConfig(); +esConfig.setClusterName(clusterName); +esConfig.setHost(new String[]{"localhost"}); +esConfig.setPort(9300); +EsPercolateBolt percolateBolt = new EsPercolateBolt(esConfig); +``` + +### EsConfig (org.apache.storm.elasticsearch.common.EsConfig) + +Two bolts above takes in EsConfig as a constructor arg. + + ```java + EsConfig esConfig = new EsConfig(); + esConfig.setClusterName(clusterName); + esConfig.setHost(new String[]{"localhost"}); + esConfig.setPort(9300); + ``` + +EsConfig params + +|Arg |Description | Type +|--- |--- |--- +|clusterName | ElasticSearch cluster name | String (required) | +|host | ElasticSearch host | String array (required) | --- End diff -- @harshach Thanks for the review, I'll work on it.
--- If your project is set up for it, you can reply to this email and have your reply appear on GitHub as well. If your project does not have this feature enabled and wishes so, or if the feature is enabled but not working, please contact infrastructure at infrastruct...@apache.org or file a JIRA ticket with INFRA. ---