基础概念
***********************************************************************************************
索引: 含有相同属性的文档(例如 一个索引待变消费者的数据,另一个索引代表产品的数据)
类型: 索引可以定义一个或多个类型(相同字段的文档定为一个类型)
文档: 文档是可以被索引的基本数据单位(比如 一个用户的基本信息,一篇文章的数据等), 文档必须属于一个类型。
索引通过名字来识别,英文字母小写且不含中画线
索引相当于database 一个数据库。类型相当于table,一个表。 文档相当于一行记录
另一个例子
搜索系统有汽车索引,家具索引,图书索引。图书索引中有科普类,文学类等类型,具体到每本书就是文档。
***********************************************************************************************
分片: 每个索引都有多个分片,每个分片是一个Lucene索引。(创建索引时指定)
备份:拷贝一份分片就完成了分片的备份。
***********************************************************************************************
基本用法
RESTFul API
API基本格式 http://<ip>:<port>/<索引>/<类型>/<文档id>
常用http动词 get/post/put/delete
*************************************************************************************************
创建索引:非结构化创建、结构化创建。
先介绍非结构化创建(通过head插件介绍),有的人下载head插件然后安装,较为繁琐。我这里直接用谷歌浏览器的扩展程序即可。
打开head插件
索引名字填写book,点击ok,如果再弹出确认框也点击ok。
点击概览可以看到如下页面。多了很多小方块。
判断是结构化还是非结构化方法:
建立结构化索引:
回到概览,刷新后,查索引信息可以看到mappings有内容了
因为在head插件中写json太麻烦,可以用postman这个软件
返回成功
查看head插件,多了people索引
**************************************************************************************************
插入
#指定文档id插入
#自动产生文档id插入
改为post , url中去掉id
***********************************************************************
修改:
返回数据
head插件刷新
脚本更新方式 视年龄加10(ctx是上下文)
脚本中还可以用参数更新(年龄设置为100)
********************************************************************************
删除
#删除文档(url中指定id为1)
#删除索引
在head插件中删除
刷新查看删除结果
在postman中删除索引
查看head插件,刷新,发现索引没了(剩下的kibana是一个辅助软件,先忽略)
***************************************************************
查询
#简单查询
#条件查询
#聚合查询
先在head插件上新增索引
再在postman上结构化,添加类型
刷新head插件可以看到mappings里有内容了
然后添加了5条数据,就可以进行查询操作了
#简单查询(使用postman)查询id为1的数据
#条件查询
关键词查询(match_all改为match)
也可以自己指定排序方式,比如按照publish_date字段降序
聚合查询
也可以同时查询多个聚合
其他功能函数
返回结果完成对word_count的统计,最大值,最小值,平均值等
查最小值
返回结果
评论前必须登录!
注册