elasticsearch概念之索引、搜索和聚合

环境

elasticsearch:5.2.2

索引 —即:数据库

我自己理解:存储数据的行为就叫做索引。通俗点就是插入数据。

官网翻译的解释:Elasticsearch中存储数据的行为就叫做索引

官网给出的和关系型数据库的类比图:

Relational DB -> Databases -> Tables -> Rows -> Columns
Elasticsearch -> Indices -> Types -> Documents -> Fields
数据库类型数据库
关系型数据库数据库
Elasticsearch索引类型文档字段

Elasticsearch集群可以包含多个索引(indices)(数据库),每一个索引可以包含多个类型(types)(表),每一个类型包含多个文档(documents)(行),然后每个文档包含多个字段(Fields)(列)。

默认情况下,文档中的所有字段都会被索引(拥有一个倒排索引),只有这样他们才是可被搜索的。


基于http协议,以json为数据交互的Restful API

请求格式:

curl -X<verb> '<protocol>://<host>:<port>/<path>?<query_string>' -d '<body>'

详解:

VERB HTTP方法: GET , POST , PUT , HEAD , DELETE
PROTOCOL http或者https协议(只有在Elasticsearch前面有https代理的时候可用)
HOST Elasticsearch集群中的任何一个节点的主机名,如果是在本地的节点,那么就叫localhost
PORT Elasticsearch HTTP服务所在的端口,默认为9200
QUERY_STRING 一些可选的查询请求参数,例如 ?pretty 参数将使请求返回更加美观易读的JSON数据
BODY 一个JSON格式的请求主体(如果请求需要的话)

举例说明:

curl -XGET 'http://localhost:9200/_count?pretty' -d '
{
"query": {
"match_all": {}
}
}'

《elasticsearch权威指南》中的简写:

一个完整的请求形如:
curl -XGET 'http://localhost:9200/_count?pretty' -d '
{
    "query": {
    "match_all": {}
    }
}'

我们将简写成这样:

GET /_count
{
    "query": {
    "match_all": {}
    }
}

在cmd中插入数据报错

我在cmd中执行:

C:\Users\yutao>
curl -XPUT "http://127.0.0.1:9200/megacorp/employee/1" -d '{"first_name":"yutao","last_name":"smith","age":25,"about":"1III","interests":["sports","music"]}'

这样会报错:

{"error":{"root_cause":[{"type":"mapper_parsing_exception","reason":"failed to p
arse"}],"type":"mapper_parsing_exception","reason":"failed to parse","caused_by"
:{"type":"not_x_content_exception","reason":"Compressor detection can only be ca
lled on some xcontent bytes or compressed xcontent bytes"}},"status":400}

原因是:json内部的双引号则转义,也就是要这么写:

C:\Users\yutao>
curl -XPUT "http://127.0.0.1:9200/megacorp/employee/1" -d "{\"first_name\":\"yutao\",\"last_name\":\"misssad\",\"age\":25}"

OK啦。

Windows下elasticsearch插入数据报错!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

山鬼谣me

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值