Thank you so much brian. I will make use of this in my project. On Jan 7, 2015 9:35 PM, "Brian" <[email protected]> wrote:
> I wish I could, but currently prohibited. However, I can point you to some > very good Java libraries: > > The CSV parser supplied by the Apache project works well: > > > https://commons.apache.org/proper/commons-csv/apidocs/org/apache/commons/csv/CSVParser.html > > You can override the delimiter using the static CSVFormat newFormat(char > delimiter) method which creates a new CSV format with the specified > delimiter: > > > https://commons.apache.org/proper/commons-csv/apidocs/org/apache/commons/csv/CSVFormat.html > > Then use the XContentBuilder cb = jsonBuilder() method call to create a > content builder to convert your records to single-line JSON. > > For example, the action and meta data object I use is based on the > following ENUM and toString method to emit as JSON. I've left out the parst > that I use in other custom libraries that allow Java code to easily set up > this information, and also to set this from a search response or a > get-by-id response: > > public enum OpType > { > CREATE, > INDEX, > DELETE > } > > @Override > public String toString() > { > try > { > XContentBuilder cb = jsonBuilder(); > cb.startObject(); > > cb.field(opType.toString().toLowerCase()); > cb.startObject(); > > cb.field("_index", index); > cb.field("_type", type); > if (id != null) > cb.field("_id", id); > > if (version > 0) > { > cb.field("_version", version); > if (versionType == VersionType.EXTERNAL) > cb.field("_version_type", "external"); > } > > if (ttl != null) > cb.field("_ttl", ttl); > > cb.endObject(); > > cb.endObject(); > return cb.string(); > } > catch (IOException e) > { > return ("null"); > } > > } > > /* Operation type (action): "create" or "index" or "delete" */ > private OpType opType = OpType.INDEX; > > /* Metadata that this object supports */ > private String index = null; > private String type = null; > private String id = null; > private long version = 0; > private VersionType versionType = VersionType.INTERNAL; > private TimeValue ttl = null; > > And the actual data line that would follow is similarly constructed using > the content builder. > > I wish I could help you more. > > Brian > > > On Wednesday, January 7, 2015 10:41:26 AM UTC-5, Gopimanikandan Sengodan > wrote: >> >> Thank you brian. Let me change it accodingly as per your suggestion. >> Could it possible to share the bulk load client and csv to json converter? >> > -- > You received this message because you are subscribed to a topic in the > Google Groups "elasticsearch" group. > To unsubscribe from this topic, visit > https://groups.google.com/d/topic/elasticsearch/j8LIPILQr6s/unsubscribe. > To unsubscribe from this group and all its topics, send an email to > [email protected]. > To view this discussion on the web visit > https://groups.google.com/d/msgid/elasticsearch/9d46f746-04c6-48fe-93bc-a0c8612539ca%40googlegroups.com > <https://groups.google.com/d/msgid/elasticsearch/9d46f746-04c6-48fe-93bc-a0c8612539ca%40googlegroups.com?utm_medium=email&utm_source=footer> > . > For more options, visit https://groups.google.com/d/optout. > -- You received this message because you are subscribed to the Google Groups "elasticsearch" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/elasticsearch/CABZ89JgyKKLUU5h53Lupas2-fE7a1Ka9fDnzGke9sr0p8TL6%3DQ%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.
