-
-
Save clintongormley/8579281 to your computer and use it in GitHub Desktop.
curl -XPUT 'http://localhost:9200/us/user/1?pretty=1' -d ' | |
{ | |
"email" : "[email protected]", | |
"name" : "John Smith", | |
"username" : "@john" | |
} | |
' | |
curl -XPUT 'http://localhost:9200/gb/user/2?pretty=1' -d ' | |
{ | |
"email" : "[email protected]", | |
"name" : "Mary Jones", | |
"username" : "@mary" | |
} | |
' | |
curl -XPUT 'http://localhost:9200/gb/tweet/3?pretty=1' -d ' | |
{ | |
"date" : "2014-09-13", | |
"name" : "Mary Jones", | |
"tweet" : "Elasticsearch means full text search has never been so easy", | |
"user_id" : 2 | |
} | |
' | |
curl -XPUT 'http://localhost:9200/us/tweet/4?pretty=1' -d ' | |
{ | |
"date" : "2014-09-14", | |
"name" : "John Smith", | |
"tweet" : "@mary it is not just text, it does everything", | |
"user_id" : 1 | |
} | |
' | |
curl -XPUT 'http://localhost:9200/gb/tweet/5?pretty=1' -d ' | |
{ | |
"date" : "2014-09-15", | |
"name" : "Mary Jones", | |
"tweet" : "However did I manage before Elasticsearch?", | |
"user_id" : 2 | |
} | |
' | |
curl -XPUT 'http://localhost:9200/us/tweet/6?pretty=1' -d ' | |
{ | |
"date" : "2014-09-16", | |
"name" : "John Smith", | |
"tweet" : "The Elasticsearch API is really easy to use", | |
"user_id" : 1 | |
} | |
' | |
curl -XPUT 'http://localhost:9200/gb/tweet/7?pretty=1' -d ' | |
{ | |
"date" : "2014-09-17", | |
"name" : "Mary Jones", | |
"tweet" : "The Query DSL is really powerful and flexible", | |
"user_id" : 2 | |
} | |
' | |
curl -XPUT 'http://localhost:9200/us/tweet/8?pretty=1' -d ' | |
{ | |
"date" : "2014-09-18", | |
"name" : "John Smith", | |
"user_id" : 1 | |
} | |
' | |
curl -XPUT 'http://localhost:9200/gb/tweet/9?pretty=1' -d ' | |
{ | |
"date" : "2014-09-19", | |
"name" : "Mary Jones", | |
"tweet" : "Geo-location aggregations are really cool", | |
"user_id" : 2 | |
} | |
' | |
curl -XPUT 'http://localhost:9200/us/tweet/10?pretty=1' -d ' | |
{ | |
"date" : "2014-09-20", | |
"name" : "John Smith", | |
"tweet" : "Elasticsearch surely is one of the hottest new NoSQL products", | |
"user_id" : 1 | |
} | |
' | |
curl -XPUT 'http://localhost:9200/gb/tweet/11?pretty=1' -d ' | |
{ | |
"date" : "2014-09-21", | |
"name" : "Mary Jones", | |
"tweet" : "Elasticsearch is built for the cloud, easy to scale", | |
"user_id" : 2 | |
} | |
' | |
curl -XPUT 'http://localhost:9200/us/tweet/12?pretty=1' -d ' | |
{ | |
"date" : "2014-09-22", | |
"name" : "John Smith", | |
"tweet" : "Elasticsearch and I have left the honeymoon stage, and I still love her.", | |
"user_id" : 1 | |
} | |
' | |
curl -XPUT 'http://localhost:9200/gb/tweet/13?pretty=1' -d ' | |
{ | |
"date" : "2014-09-23", | |
"name" : "Mary Jones", | |
"tweet" : "So yes, I am an Elasticsearch fanboy", | |
"user_id" : 2 | |
} | |
' | |
curl -XPUT 'http://localhost:9200/us/tweet/14?pretty=1' -d ' | |
{ | |
"date" : "2014-09-24", | |
"name" : "John Smith", | |
"tweet" : "How many more cheesy tweets do I have to write?", | |
"user_id" : 1 | |
} | |
' |
@zhengfeng-zhu
good job!it's working now
In Elasticsearch 7.x the type was deprecated, so this bulk will be like this?
POST /_bulk
{"create":{"_index":"us","_id":"1"}}
{"email":"[email protected]","name":"John Smith","username":"@john"}
{"create":{"_index":"gb","_id":"2"}}
{"email":"[email protected]","name":"Mary Jones","username":"@mary"}
{"create":{"_index":"gb","_id":"3"}}
{"date":"2014-09-13","name":"Mary Jones","tweet":"Elasticsearch means full text search has never been so easy","user_id":2}
{"create":{"_index":"us","_id":"4"}}
{"date":"2014-09-14","name":"John Smith","tweet":"@mary it is not just text, it does everything","user_id":1}
{"create":{"_index":"gb","_id":"5"}}
{"date":"2014-09-15","name":"Mary Jones","tweet":"However did I manage before Elasticsearch?","user_id":2}
{"create":{"_index":"us","_id":"6"}}
{"date":"2014-09-16","name":"John Smith","tweet":"The Elasticsearch API is really easy to use","user_id":1}
{"create":{"_index":"gb","_id":"7"}}
{"date":"2014-09-17","name":"Mary Jones","tweet":"The Query DSL is really powerful and flexible","user_id":2}
{"create":{"_index":"us","_id":"8"}}
{"date":"2014-09-18","name":"John Smith","user_id":1}
{"create":{"_index":"gb","_id":"9"}}
{"date":"2014-09-19","name":"Mary Jones","tweet":"Geo-location aggregations are really cool","user_id":2}
{"create":{"_index":"us","_id":"10"}}
{"date":"2014-09-20","name":"John Smith","tweet":"Elasticsearch surely is one of the hottest new NoSQL products","user_id":1}
{"create":{"_index":"gb","_id":"11"}}
{"date":"2014-09-21","name":"Mary Jones","tweet":"Elasticsearch is built for the cloud, easy to scale","user_id":2}
{"create":{"_index":"us","_id":"12"}}
{"date":"2014-09-22","name":"John Smith","tweet":"Elasticsearch and I have left the honeymoon stage, and I still love her.","user_id":1}
{"create":{"_index":"gb","_id":"13"}}
{"date":"2014-09-23","name":"Mary Jones","tweet":"So yes, I am an Elasticsearch fanboy","user_id":2}
{"create":{"_index":"us","_id":"14"}}
{"date":"2014-09-24","name":"John Smith","tweet":"How many more cheesy tweets do I have to write?","user_id":1}
@alvesgabriel, I think you are now mixing up tweet and user. Following the advince of elastic, by default you split up different types in different indexes, so gb-user, gb-tweet, us-user, us-tweet, which results in:
POST /_bulk
{"create":{"_index":"us-user","_id":"1"}}
{"email":"[email protected]","name":"John Smith","username":"@john"}
{"create":{"_index":"gb-user","_id":"2"}}
{"email":"[email protected]","name":"Mary Jones","username":"@mary"}
{"create":{"_index":"gb-tweet","_id":"3"}}
{"date":"2014-09-13","name":"Mary Jones","tweet":"Elasticsearch means full text search has never been so easy","user_id":2}
{"create":{"_index":"us-tweet","_id":"4"}}
{"date":"2014-09-14","name":"John Smith","tweet":"@mary it is not just text, it does everything","user_id":1}
{"create":{"_index":"gb-tweet","_id":"5"}}
{"date":"2014-09-15","name":"Mary Jones","tweet":"However did I manage before Elasticsearch?","user_id":2}
{"create":{"_index":"us-tweet","_id":"6"}}
{"date":"2014-09-16","name":"John Smith","tweet":"The Elasticsearch API is really easy to use","user_id":1}
{"create":{"_index":"gb-tweet","_id":"7"}}
{"date":"2014-09-17","name":"Mary Jones","tweet":"The Query DSL is really powerful and flexible","user_id":2}
{"create":{"_index":"us-tweet","_id":"8"}}
{"date":"2014-09-18","name":"John Smith","user_id":1}
{"create":{"_index":"gb-tweet","_id":"9"}}
{"date":"2014-09-19","name":"Mary Jones","tweet":"Geo-location aggregations are really cool","user_id":2}
{"create":{"_index":"us-tweet","_id":"10"}}
{"date":"2014-09-20","name":"John Smith","tweet":"Elasticsearch surely is one of the hottest new NoSQL products","user_id":1}
{"create":{"_index":"gb-tweet","_id":"11"}}
{"date":"2014-09-21","name":"Mary Jones","tweet":"Elasticsearch is built for the cloud, easy to scale","user_id":2}
{"create":{"_index":"us-tweet","_id":"12"}}
{"date":"2014-09-22","name":"John Smith","tweet":"Elasticsearch and I have left the honeymoon stage, and I still love her.","user_id":1}
{"create":{"_index":"gb-tweet","_id":"13"}}
{"date":"2014-09-23","name":"Mary Jones","tweet":"So yes, I am an Elasticsearch fanboy","user_id":2}
{"create":{"_index":"us-tweet","_id":"14"}}
{"date":"2014-09-24","name":"John Smith","tweet":"How many more cheesy tweets do I have to write?","user_id":1}
Ok @maarten-kieft, I understood now.
Thank you for the answer and help.
@zhenfeng-zhu
nice
in es6.x, this is useful
curl -H 'Content-Type: application/json' -XPOST 'http://localhost:9200/_bulk?pretty' -d ' { "create": { "_index": "user", "_type": "doc", "_id": "1" }} { "email" : "[email protected]", "name" : "John Smith", "username" : "@john" } { "create": { "_index": "user", "_type": "doc", "_id": "2" }} { "email" : "[email protected]", "name" : "Mary Jones", "username" : "@mary" } { "create": { "_index": "tweet", "_type": "doc", "_id": "3" }} { "date" : "2014-09-13", "name" : "Mary Jones", "tweet" : "Elasticsearch means full text search has never been so easy", "user_id" : 2 } { "create": { "_index": "tweet", "_type": "doc", "_id": "4" }} { "date" : "2014-09-14", "name" : "John Smith", "tweet" : "@mary it is not just text, it does everything", "user_id" : 1 } { "create": { "_index": "tweet", "_type": "doc", "_id": "5" }} { "date" : "2014-09-15", "name" : "Mary Jones", "tweet" : "However did I manage before Elasticsearch?", "user_id" : 2 } { "create": { "_index": "tweet", "_type": "doc", "_id": "6" }} { "date" : "2014-09-16", "name" : "John Smith", "tweet" : "The Elasticsearch API is really easy to use", "user_id" : 1 } { "create": { "_index": "tweet", "_type": "doc", "_id": "7" }} { "date" : "2014-09-17", "name" : "Mary Jones", "tweet" : "The Query DSL is really powerful and flexible", "user_id" : 2 } { "create": { "_index": "tweet", "_type": "doc", "_id": "8" }} { "date" : "2014-09-18", "name" : "John Smith", "user_id" : 1 } { "create": { "_index": "tweet", "_type": "doc", "_id": "9" }} { "date" : "2014-09-19", "name" : "Mary Jones", "tweet" : "Geo-location aggregations are really cool", "user_id" : 2 } { "create": { "_index": "tweet", "_type": "doc", "_id": "10" }} { "date" : "2014-09-20", "name" : "John Smith", "tweet" : "Elasticsearch surely is one of the hottest new NoSQL products", "user_id" : 1 } { "create": { "_index": "tweet", "_type": "doc", "_id": "11" }} { "date" : "2014-09-21", "name" : "Mary Jones", "tweet" : "Elasticsearch is built for the cloud, easy to scale", "user_id" : 2 } { "create": { "_index": "tweet", "_type": "doc", "_id": "12" }} { "date" : "2014-09-22", "name" : "John Smith", "tweet" : "Elasticsearch and I have left the honeymoon stage, and I still love her.", "user_id" : 1 } { "create": { "_index": "tweet", "_type": "doc", "_id": "13" }} { "date" : "2014-09-23", "name" : "Mary Jones", "tweet" : "So yes, I am an Elasticsearch fanboy", "user_id" : 2 } { "create": { "_index": "tweet", "_type": "doc", "_id": "14" }} { "date" : "2014-09-24", "name" : "John Smith", "tweet" : "How many more cheesy tweets do I have to write?", "user_id" : 1 } '
This is very easy to use
Elastic 6.x allows only one Type in Index, and version 7.x will completely remove Type.
It's cool,i remove type can run it...Maybe i need read document again
@maarten-kieft Comment has the best example for 7.x, copy paste in Kibana console works fine.
es returns error
{"error":{"root_cause":[{"type":"illegal_argument_exception","reason":"Rejecting mapping update to [gb] as the final mapping would have more than 1 type: [user, tweet]"}],"type":"illegal_argument_exception","reason":"Rejecting mapping update to [gb] as the final mapping would have more than 1 type: [user, tweet]"},"status":400}
since 7.x ,one _index
does not support multiple _type
these shells are @deprecated
@maarten-kieft, thanks !
@maarten-kieft thanks a lot for the example. Helped me a ton!
thanks
es returns error
{"error":{"root_cause":[{"type":"illegal_argument_exception","reason":"Rejecting mapping update to [gb] as the final mapping would have more than 1 type: [user, tweet]"}],"type":"illegal_argument_exception","reason":"Rejecting mapping update to [gb] as the final mapping would have more than 1 type: [user, tweet]"},"status":400}
since 7.x ,one
_index
does not support multiple_type
these shells are @deprecated
thanks~
curl -H 'Content-Type: application/json' -XPOST 'http://localhost:9200/_bulk?pretty' -d '
{ "create": { "_index": "user", "_type": "doc", "_id": "1" }}
{ "email" : "[email protected]", "name" : "John Smith", "username" : "@john" }
{ "create": { "_index": "user", "_type": "doc", "_id": "2" }}
{ "email" : "[email protected]", "name" : "Mary Jones", "username" : "@Mary" }
{ "create": { "_index": "tweet", "_type": "doc", "_id": "3" }}
{ "date" : "2014-09-13", "name" : "Mary Jones", "tweet" : "Elasticsearch means full text search has never been so easy", "user_id" : 2 }
{ "create": { "_index": "tweet", "_type": "doc", "_id": "4" }}
{ "date" : "2014-09-14", "name" : "John Smith", "tweet" : "@Mary it is not just text, it does everything", "user_id" : 1 }
{ "create": { "_index": "tweet", "_type": "doc", "_id": "5" }}
{ "date" : "2014-09-15", "name" : "Mary Jones", "tweet" : "However did I manage before Elasticsearch?", "user_id" : 2 }
{ "create": { "_index": "tweet", "_type": "doc", "_id": "6" }}
{ "date" : "2014-09-16", "name" : "John Smith", "tweet" : "The Elasticsearch API is really easy to use", "user_id" : 1 }
{ "create": { "_index": "tweet", "_type": "doc", "_id": "7" }}
{ "date" : "2014-09-17", "name" : "Mary Jones", "tweet" : "The Query DSL is really powerful and flexible", "user_id" : 2 }
{ "create": { "_index": "tweet", "_type": "doc", "_id": "8" }}
{ "date" : "2014-09-18", "name" : "John Smith", "user_id" : 1 }
{ "create": { "_index": "tweet", "_type": "doc", "_id": "9" }}
{ "date" : "2014-09-19", "name" : "Mary Jones", "tweet" : "Geo-location aggregations are really cool", "user_id" : 2 }
{ "create": { "_index": "tweet", "_type": "doc", "_id": "10" }}
{ "date" : "2014-09-20", "name" : "John Smith", "tweet" : "Elasticsearch surely is one of the hottest new NoSQL products", "user_id" : 1 }
{ "create": { "_index": "tweet", "_type": "doc", "_id": "11" }}
{ "date" : "2014-09-21", "name" : "Mary Jones", "tweet" : "Elasticsearch is built for the cloud, easy to scale", "user_id" : 2 }
{ "create": { "_index": "tweet", "_type": "doc", "_id": "12" }}
{ "date" : "2014-09-22", "name" : "John Smith", "tweet" : "Elasticsearch and I have left the honeymoon stage, and I still love her.", "user_id" : 1 }
{ "create": { "_index": "tweet", "_type": "doc", "_id": "13" }}
{ "date" : "2014-09-23", "name" : "Mary Jones", "tweet" : "So yes, I am an Elasticsearch fanboy", "user_id" : 2 }
{ "create": { "_index": "tweet", "_type": "doc", "_id": "14" }}
{ "date" : "2014-09-24", "name" : "John Smith", "tweet" : "How many more cheesy tweets do I have to write?", "user_id" : 1 }'
thank ~
that‘s cool
via Kibana http://localhost:5601/app/dev_tools#/console
for version 8.4.0
POST /_bulk?pretty
{ "create": { "_index": "user", "_id": "1" }}
{ "email" : "[email protected]", "name" : "John Smith", "username" : "@john" }
{ "create": { "_index": "user", "_id": "2" }}
{ "email" : "[email protected]", "name" : "Mary Jones", "username" : "@Mary" }
{ "create": { "_index": "tweet", "_id": "3" }}
{ "date" : "2014-09-13", "name" : "Mary Jones", "tweet" : "Elasticsearch means full text search has never been so easy", "user_id" : 2 }
{ "create": { "_index": "tweet", "_id": "4" }}
{ "date" : "2014-09-14", "name" : "John Smith", "tweet" : "@Mary it is not just text, it does everything", "user_id" : 1 }
{ "create": { "_index": "tweet", "_id": "5" }}
{ "date" : "2014-09-15", "name" : "Mary Jones", "tweet" : "However did I manage before Elasticsearch?", "user_id" : 2 }
{ "create": { "_index": "tweet", "_id": "6" }}
{ "date" : "2014-09-16", "name" : "John Smith", "tweet" : "The Elasticsearch API is really easy to use", "user_id" : 1 }
{ "create": { "_index": "tweet", "_id": "7" }}
{ "date" : "2014-09-17", "name" : "Mary Jones", "tweet" : "The Query DSL is really powerful and flexible", "user_id" : 2 }
{ "create": { "_index": "tweet", "_id": "8" }}
{ "date" : "2014-09-18", "name" : "John Smith", "user_id" : 1 }
{ "create": { "_index": "tweet", "_id": "9" }}
{ "date" : "2014-09-19", "name" : "Mary Jones", "tweet" : "Geo-location aggregations are really cool", "user_id" : 2 }
{ "create": { "_index": "tweet", "_id": "10" }}
{ "date" : "2014-09-20", "name" : "John Smith", "tweet" : "Elasticsearch surely is one of the hottest new NoSQL products", "user_id" : 1 }
{ "create": { "_index": "tweet", "_id": "11" }}
{ "date" : "2014-09-21", "name" : "Mary Jones", "tweet" : "Elasticsearch is built for the cloud, easy to scale", "user_id" : 2 }
{ "create": { "_index": "tweet", "_id": "12" }}
{ "date" : "2014-09-22", "name" : "John Smith", "tweet" : "Elasticsearch and I have left the honeymoon stage, and I still love her.", "user_id" : 1 }
{ "create": { "_index": "tweet", "_id": "13" }}
{ "date" : "2014-09-23", "name" : "Mary Jones", "tweet" : "So yes, I am an Elasticsearch fanboy", "user_id" : 2 }
{ "create": { "_index": "tweet", "_id": "14" }}
{ "date" : "2014-09-24", "name" : "John Smith", "tweet" : "How many more cheesy tweets do I have to write?", "user_id" : 1 }
You may use this
curl -H 'Content-Type: application/json' -XPOST 'http://localhost:9200/_bulk?pretty' -d '
{ "create": { "_index": "user", "_id": "1" }}
{ "email" : "[email protected]", "name" : "John Smith", "username" : "@john" }
{ "create": { "_index": "user", "_id": "2" }}
{ "email" : "[email protected]", "name" : "Mary Jones", "username" : "@Mary" }
{ "create": { "_index": "tweet", "_id": "3" }}
{ "date" : "2014-09-13", "name" : "Mary Jones", "tweet" : "Elasticsearch means full text search has never been so easy", "user_id" : 2 }
{ "create": { "_index": "tweet", "_id": "4" }}
{ "date" : "2014-09-14", "name" : "John Smith", "tweet" : "@Mary it is not just text, it does everything", "user_id" : 1 }
{ "create": { "_index": "tweet", "_id": "5" }}
{ "date" : "2014-09-15", "name" : "Mary Jones", "tweet" : "However did I manage before Elasticsearch?", "user_id" : 2 }
{ "create": { "_index": "tweet", "_id": "6" }}
{ "date" : "2014-09-16", "name" : "John Smith", "tweet" : "The Elasticsearch API is really easy to use", "user_id" : 1 }
{ "create": { "_index": "tweet", "_id": "7" }}
{ "date" : "2014-09-17", "name" : "Mary Jones", "tweet" : "The Query DSL is really powerful and flexible", "user_id" : 2 }
{ "create": { "_index": "tweet", "_id": "8" }}
{ "date" : "2014-09-18", "name" : "John Smith", "user_id" : 1 }
{ "create": { "_index": "tweet", "_id": "9" }}
{ "date" : "2014-09-19", "name" : "Mary Jones", "tweet" : "Geo-location aggregations are really cool", "user_id" : 2 }
{ "create": { "_index": "tweet", "_id": "10" }}
{ "date" : "2014-09-20", "name" : "John Smith", "tweet" : "Elasticsearch surely is one of the hottest new NoSQL products", "user_id" : 1 }
{ "create": { "_index": "tweet", "_id": "11" }}
{ "date" : "2014-09-21", "name" : "Mary Jones", "tweet" : "Elasticsearch is built for the cloud, easy to scale", "user_id" : 2 }
{ "create": { "_index": "tweet", "_id": "12" }}
{ "date" : "2014-09-22", "name" : "John Smith", "tweet" : "Elasticsearch and I have left the honeymoon stage, and I still love her.", "user_id" : 1 }
{ "create": { "_index": "tweet", "_id": "13" }}
{ "date" : "2014-09-23", "name" : "Mary Jones", "tweet" : "So yes, I am an Elasticsearch fanboy", "user_id" : 2 }
{ "create": { "_index": "tweet", "_id": "14" }}
{ "date" : "2014-09-24", "name" : "John Smith", "tweet" : "How many more cheesy tweets do I have to write?", "user_id" : 1 }
'
I`ve use it for ES 8.6.0
version 8.6.0
POST /_doc/_bulk
{ "create": { "_index": "user", "_id": "1" }}
{ "email" : "[email protected]", "name" : "John Smith", "username" : "@john" }
{ "create": { "_index": "user", "_id": "2" }}
{ "email" : "[email protected]", "name" : "Mary Jones", "username" : "@mary" }
{ "create": { "_index": "tweet", "_id": "3" }}
{ "date" : "2014-09-13", "name" : "Mary Jones", "tweet" : "Elasticsearch means full text search has never been so easy", "user_id" : 2 }
{ "create": { "_index": "tweet", "_id": "4" }}
{ "date" : "2014-09-14", "name" : "John Smith", "tweet" : "@mary it is not just text, it does everything", "user_id" : 1 }
{ "create": { "_index": "tweet", "_id": "5" }}
{ "date" : "2014-09-15", "name" : "Mary Jones", "tweet" : "However did I manage before Elasticsearch?", "user_id" : 2 }
{ "create": { "_index": "tweet", "_id": "6" }}
{ "date" : "2014-09-16", "name" : "John Smith", "tweet" : "The Elasticsearch API is really easy to use", "user_id" : 1 }
{ "create": { "_index": "tweet", "_id": "7" }}
{ "date" : "2014-09-17", "name" : "Mary Jones", "tweet" : "The Query DSL is really powerful and flexible", "user_id" : 2 }
{ "create": { "_index": "tweet", "_id": "8" }}
{ "date" : "2014-09-18", "name" : "John Smith", "user_id" : 1 }
{ "create": { "_index": "tweet", "_id": "9" }}
{ "date" : "2014-09-19", "name" : "Mary Jones", "tweet" : "Geo-location aggregations are really cool", "user_id" : 2 }
{ "create": { "_index": "tweet", "_id": "10" }}
{ "date" : "2014-09-20", "name" : "John Smith", "tweet" : "Elasticsearch surely is one of the hottest new NoSQL products", "user_id" : 1 }
{ "create": { "_index": "tweet", "_id": "11" }}
{ "date" : "2014-09-21", "name" : "Mary Jones", "tweet" : "Elasticsearch is built for the cloud, easy to scale", "user_id" : 2 }
{ "create": { "_index": "tweet", "_id": "12" }}
{ "date" : "2014-09-22", "name" : "John Smith", "tweet" : "Elasticsearch and I have left the honeymoon stage, and I still love her.", "user_id" : 1 }
{ "create": { "_index": "tweet", "_id": "13" }}
{ "date" : "2014-09-23", "name" : "Mary Jones", "tweet" : "So yes, I am an Elasticsearch fanboy", "user_id" : 2 }
{ "create": { "_index": "tweet", "_id": "14" }}
{ "date" : "2014-09-24", "name" : "John Smith", "tweet" : "How many more cheesy tweets do I have to write?", "user_id" : 1 }
in es6.x, this is useful