How to index an existing json file


(IronMike) #1

Hi,

I am just starting with ElasticSearch, I would like to know how to index a
simple json document "books.json" that has the following in it: Where do I
place the document? I placed it in root directory of elastic search and in
/bin folder..

{“books”:[{“name”:”life in heaven”,”author”:”Mike Smith”},{“name”:”get
rich”,”author”:”Joe Shmoe”},{“name”:”luxury properties”,”author”:”Linda
Jones”]}}

$ curl -XPUT "http://localhost:9200/books/book/1" -d @books.json

Warning: Couldn't read data from file "books.json", this makes an empty
POST.

{"error":"MapperParsingException[failed to parse, document is
empty]","status":400}

Thanks

--
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 elasticsearch+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/elasticsearch/a5c1e37f-9472-499c-9499-1475c944f47b%40googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.


(Ivan Brusic) #2

The JSON file is used by the curl command, so in your example it should be
in the same directory in which you executed the command (current directory).

--
Ivan

On Tue, Jan 7, 2014 at 6:00 PM, ZenMaster80 sabdalla80@gmail.com wrote:

Hi,

I am just starting with ElasticSearch, I would like to know how to index a
simple json document "books.json" that has the following in it: Where do I
place the document? I placed it in root directory of elastic search and in
/bin folder..

{“books”:[{“name”:”life in heaven”,”author”:”Mike Smith”},{“name”:”get
rich”,”author”:”Joe Shmoe”},{“name”:”luxury properties”,”author”:”Linda
Jones”]}}

$ curl -XPUT "http://localhost:9200/books/book/1" -d @books.json

Warning: Couldn't read data from file "books.json", this makes an empty
POST.

{"error":"MapperParsingException[failed to parse, document is
empty]","status":400}

Thanks

--
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 elasticsearch+unsubscribe@googlegroups.com.
To view this discussion on the web visit
https://groups.google.com/d/msgid/elasticsearch/a5c1e37f-9472-499c-9499-1475c944f47b%40googlegroups.com
.
For more options, visit https://groups.google.com/groups/opt_out.

--
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 elasticsearch+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/elasticsearch/CALY%3DcQDg%3Du3HfBvKnQrCy6XEJ6knyrvx042j8kn7YZmMz96FhA%40mail.gmail.com.
For more options, visit https://groups.google.com/groups/opt_out.


(IronMike) #3

Great, Do you know why I am getting

{"error":"MapperParsingException[failed to parse]; nested:
JsonParseException[Unrecognized token 'life': was expecting ('true',
'false' or 'null')\n at [Source: [B@5c9a9d06; line: 1, column: 35]];
","status":400}

data:

{“books”:[{“name”:”life in heaven”,”author”:”Mike Smith”},{“name”:”get
rich”,”author”:”Joe Shmoe”},{“name”:”luxury properties”,”author”:”Linda
Jones”}]}

On Tuesday, January 7, 2014 9:06:01 PM UTC-5, Ivan Brusic wrote:

The JSON file is used by the curl command, so in your example it should be
in the same directory in which you executed the command (current directory).

--
Ivan

On Tue, Jan 7, 2014 at 6:00 PM, ZenMaster80 <sabda...@gmail.com<javascript:>

wrote:

Hi,

I am just starting with ElasticSearch, I would like to know how to index
a simple json document "books.json" that has the following in it: Where do
I place the document? I placed it in root directory of elastic search and
in /bin folder..

{“books”:[{“name”:”life in heaven”,”author”:”Mike Smith”},{“name”:”get
rich”,”author”:”Joe Shmoe”},{“name”:”luxury properties”,”author”:”Linda
Jones”]}}

$ curl -XPUT "http://localhost:9200/books/book/1" -d @books.json

Warning: Couldn't read data from file "books.json", this makes an empty
POST.

{"error":"MapperParsingException[failed to parse, document is
empty]","status":400}

Thanks

--
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 elasticsearc...@googlegroups.com <javascript:>.
To view this discussion on the web visit
https://groups.google.com/d/msgid/elasticsearch/a5c1e37f-9472-499c-9499-1475c944f47b%40googlegroups.com
.
For more options, visit https://groups.google.com/groups/opt_out.

--
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 elasticsearch+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/elasticsearch/5d15fcdf-4a0f-4d92-9dd3-f07899d915fe%40googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.


(David Pilato) #4

Start with a clean index:

curl -XDELETE "http://localhost:9200/books/"

You probably have a bad mapping (some docs already indexed?)

If you still have problems, please gist a full curl recreation. See http://www.elasticsearch.org/help/

--
David :wink:
Twitter : @dadoonet / @elasticsearchfr / @scrutmydocs

Le 8 janv. 2014 à 03:10, ZenMaster80 sabdalla80@gmail.com a écrit :

Great, Do you know why I am getting
{"error":"MapperParsingException[failed to parse]; nested: JsonParseException[Unrecognized token 'life': was expecting ('true', 'false' or 'null')\n at [Source: [B@5c9a9d06; line: 1, column: 35]]; ","status":400}

data:

{“books”:[{“name”:”life in heaven”,”author”:”Mike Smith”},{“name”:”get rich”,”author”:”Joe Shmoe”},{“name”:”luxury properties”,”author”:”Linda Jones”}]}

On Tuesday, January 7, 2014 9:06:01 PM UTC-5, Ivan Brusic wrote:
The JSON file is used by the curl command, so in your example it should be in the same directory in which you executed the command (current directory).

--
Ivan

On Tue, Jan 7, 2014 at 6:00 PM, ZenMaster80 sabda...@gmail.com wrote:
Hi,

I am just starting with ElasticSearch, I would like to know how to index a simple json document "books.json" that has the following in it: Where do I place the document? I placed it in root directory of elastic search and in /bin folder..

{“books”:[{“name”:”life in heaven”,”author”:”Mike Smith”},{“name”:”get rich”,”author”:”Joe Shmoe”},{“name”:”luxury properties”,”author”:”Linda Jones”]}}

$ curl -XPUT "http://localhost:9200/books/book/1" -d @books.json

Warning: Couldn't read data from file "books.json", this makes an empty POST.
{"error":"MapperParsingException[failed to parse, document is empty]","status":400}

Thanks

--
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 elasticsearc...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/elasticsearch/a5c1e37f-9472-499c-9499-1475c944f47b%40googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

--
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 elasticsearch+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/elasticsearch/5d15fcdf-4a0f-4d92-9dd3-f07899d915fe%40googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

--
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 elasticsearch+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/elasticsearch/E9FE0784-B10E-48AD-9C46-45B44B1513B9%40pilato.fr.
For more options, visit https://groups.google.com/groups/opt_out.


(Jörg Prante) #5

Use the binary data flag or curl does not work correctly.

curl -XPUT "http://localhost:9200/books/book/1" --data-binary --data
@books.json

Jörg

--
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 elasticsearch+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/elasticsearch/CAKdsXoHyFm9cv6RJDZ4x-czsZQFnNgxnLhxD8unxoVwqE3wXtw%40mail.gmail.com.
For more options, visit https://groups.google.com/groups/opt_out.


(IronMike) #6

Thank you for the binary flag tip. It is also in the documentation here:

http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/docs-bulk.html

On Tuesday, January 7, 2014 9:00:33 PM UTC-5, ZenMaster80 wrote:

Hi,

I am just starting with ElasticSearch, I would like to know how to index a
simple json document "books.json" that has the following in it: Where do I
place the document? I placed it in root directory of elastic search and in
/bin folder..

{“books”:[{“name”:”life in heaven”,”author”:”Mike Smith”},{“name”:”get
rich”,”author”:”Joe Shmoe”},{“name”:”luxury properties”,”author”:”Linda
Jones”]}}

$ curl -XPUT "http://localhost:9200/books/book/1" -d @books.json

Warning: Couldn't read data from file "books.json", this makes an empty
POST.

{"error":"MapperParsingException[failed to parse, document is
empty]","status":400}

Thanks

--
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 elasticsearch+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/elasticsearch/853a876f-c6cb-4dd5-907a-13f626b3f078%40googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.


(IronMike) #7

Thank you for the binary flag tip. It is also in the documentation here:

http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/docs-bulk.html

On Wednesday, January 8, 2014 4:19:35 AM UTC-5, Jörg Prante wrote:

Use the binary data flag or curl does not work correctly.

curl -XPUT "http://localhost:9200/books/book/1" --data-binary --data
@books.json

Jörg

--
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 elasticsearch+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/elasticsearch/4803cd61-2627-4d65-86ec-062ec864b986%40googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.


(to tu) #8

You have a syntax error in your JSON with the unbalanced sequence of
enclosing squigglies & bracket. Compare the two ends.

Tom

On Tuesday, January 7, 2014 7:00:33 PM UTC-7, sammy wrote:

Hi,

I am just starting with ElasticSearch, I would like to know how to index a
simple json document "books.json" that has the following in it: Where do I
place the document? I placed it in root directory of elastic search and in
/bin folder..

{“books”:[{“name”:”life in heaven”,”author”:”Mike Smith”},{“name”:”get
rich”,”author”:”Joe Shmoe”},{“name”:”luxury properties”,”author”:”Linda
Jones”]}}

$ curl -XPUT "http://localhost:9200/books/book/1" -d @books.json

Warning: Couldn't read data from file "books.json", this makes an empty
POST.

{"error":"MapperParsingException[failed to parse, document is
empty]","status":400}

Thanks

--
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 elasticsearch+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/elasticsearch/6305af6b-676a-43ab-8c7c-7fc54b2764ad%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


(Sarah) #9

Hi.
If you want, you can easily manage your cluster and node elastic using this script :
https://github.com/SarahBourgeois/elasticsearch-Cluster-Manager.


(system) #10