ES文档操作
添加文档
自动创建id
方式
索引已经创建好之后就可以继续创建文档,并添加数据。 这里的文档可以类比为关系型数据库中的表数据,添加的数据格式为JSON
格式。
选择post
请求方式,并发出如下请求
http://localhost:9200/golang/_doc
在Body
里面选择raw
,添加的数据选择JSON
格式,内容如下:
{
"name": "Psych",
"url": "https://blog.csdn.net/qq_39280718?type=blog",
"author": "PPPsych"
}
运行结果如下:
返回的结果里面包含了_id
字段也就是该文档的唯一标识。这个id
也是可以自定义的。
自定义id
方式
在某些场景下我们可能需要去自主产生维护id信息, 这样的情况下主要创建文档的URL要有变化,就是在url后面要加上id信息。例如http://127.0.0.1:9200/golang/_doc/001
同样使用POST
请求,在Body
里面选择raw
,添加的数据选择JSON
格式(操作同上)
这个时候响应体里面的id就是自定义的001
了。
其实创建文档的地址也可以是
http://127.0.0.1:9200/golang/_create/002
.也就是_create
和_doc
都是可行的
查询文档
主键查询
从前面的操作来看,其实可以很好的猜想根据主键查询的url地址一个和主键添加文档的URL地址一样,只是请求的方法得使用GET
请求。例如查询001
的文档,URL地址:http://127.0.0.1:9200/golang/_doc/001
如果我们给出的id
是不存在的,例如:http://127.0.0.1:9200/golang/_doc/999
返回内容就会变为:
全查询
全查询就是查询所有的文档信息:
请求的url地址:http://127.0.0.1:9200/golang/_search
运行结果为:
{
"took": 38,
"timed_out": false,
"_shards": {
"total": 1,
"successful": 1,
"skipped": 0,
"failed": 0
},
"hits": {
"total": {
"value": 5,
"relation": "eq"
},
"max_score": 1.0,
"hits": [
{
"_index": "golang",
"_type": "_doc",
"_id": "WmazaIMBJ_0P-pFT6wOp",
"_score": 1.0,
"_source": {
"name": "Psych",
"url": "https://blog.csdn.net/qq_39280718?type=blog",
"author": "PPPsych"
}
},
{
"_index": "golang",
"_type": "_doc",
"_id": "001",
"_score": 1.0,
"_source": {
"name":