一.启动Elasticsearch:
- 启动 : ./elasticsearch -d (-d表示后台运行)
- 测试启动是否成功 : curl ‘http://localhost:9200/?pretty’ (pretty表示以标准的JSON格式输出结果)
二 . resutful API的格式:
curl -X<请求方式> '<协议>://<IP号>:<端口号>/<路径>?<查询字符串参数>' -d '<查询的JSON请求体>'
请求方式 : get / post / delete / put / head
协议 : http / https
路径 : API的终端路径 . (例如_count是将返回集群中文档数量)
查询字符串参数 : 一般指用来操作输出结果的参数. (例如”pretty”表示将结果格式化输出为JSON格式,便于阅读).
举例:计算集群中的文档数量.
curl -XGET 'http://192.168.31.136:9200/_count?pretty' -d '
{
{
"match_all":{}
}
}'
三 . 面向文档:
- elasticsearch是面向文档的,意味着它存储整个对象或者文档,elasticsearch不仅存储文档,还索引每个文档的内容使每个文档的内容可以被搜索.
- elasticsearch使用JSON(JavaScript Object Notation,JS对象标记语言).
- 文档举例:(User对象)
{
"email": "12356@qq.com",
"name": "xuyh",
"info": {
"nickname": "慧慧",
"age": 25,
"address": [beijing]
},
"join_date": "2014/05/01"
}
elasticsearch里面的名词对应传统的关系型数据库(以mysql为例) :
(1) elasticsearch ——> mysql
(2) indexes(名词) ——> 数据库
(3) type ——> 表
(4) document ——-> 行
(5) field ——-> 字段(列名)索引(动词) : "索引一个文档"就是添加一个文档到索引(名词),相当于sql语句中的insert.
创建索引 :PUT /mysql/user/1 {user对象的json字符串}
获取索引 : GET /mysql/user/1
获取全部的user对象 : GET /mysql/user/_search
按照条件查询user对象(最简单版) : GET /mysql/user/_search?q=name:xuyh