索引和查询文档
现在,让我们把一些东西放到我们的customer索引中。记住以前说过的,为了索引文件,我们得告诉 Elasticsearch 我们需要把这个文档的索引设置成什么类型。
让我们索引一个简单的customer文档到customer索引,ID为1的“external”类型,如下:
我们的JSON文件:{“name”:“John Doe”}
curl -XPUT 'localhost:9200/customer/external/1?pretty' -d '
{
"name": "John Doe"
}'
然后返回如下:
curl -XPUT 'localhost:9200/customer/external/1?pretty' -d '
{
"name": "John Doe"
}'
{
"_index" : "customer",
"_type" : "external",
"_id" : "1",
"_version" : 1,
"created" : true
}
从上面我们可以看到,一个新的customer文档在customer索引和external类型中创建成功。该文件还有我们在索引时规定为1的内部ID。
需要着重注明的是,Elasticsearch 并不强制要求你在往某个索引的某个类型中存储数据前事前创建好这个索引。在前面的例子中,Elasticsearch将自动创建customer索引,如果它没有已经预先创建好。
现在让我们检索我们刚才创建的索引吧:
curl -XGET 'localhost:9200/customer/external/1?pretty'
然后返回如下:
curl -XGET 'localhost:9200/customer/external/1?pretty'
{
"_index" : "customer",
"_type" : "external",
"_id" : "1",
"_version" : 1,
"found" : true,
"_source" : { "name": "John Doe" }
}
这里除了一个字段没有什么不寻常的,找到了,就像刚才那样我们根据请求ID为1找到了一个带有ID为1的文档,另一方面,文件_source,返回我们前面的步骤索引的完整的JSON文件。