-
elasticsearch post index
查看全部 -
基础概念
集群:是一组具有相同cluster.name的节点的集合,他们协同工作,共享数据并提供故障转移和扩展功能,一个节点也可以组成一个集群。
节点:是一个运行着的elastic search的实例。
索引:类似于关系数据库中的数据库,它是我们存储和索引关联数据的地方。
聚合:允许你在数据上生成复杂的分析统计。
文档:它特指最顶层结构或者根对象(root object)序列化成的JSON数据(以唯一ID标识并存储于Elasticsearch中),文档不仅有数据,它还包含了元数据,三个必须的元数据节点如下:
分片:
备份:
基本用法
使用RESTFul API风格
API基本格式:http://<ip>:<port>/<索引>/<类型>/<文档id>
常用HTTP动词:GET/PUT/POST/DELETE
创建索引
数据(插入、修改、删除、查询)
查看全部 -
删除文档
delete请求 index/type/docid
删除索引
delete请求 index
查看全部 -
6.5.1的mappings 不支持创建两个类型
{ "settings":{ "number_of_shards":3, "number_of_replicas":1 }, "mappings":{ "man":{ "properties":{ "name":{ "type":"text" }, "age":{ "type":"integer" }, "contry":{ "type":"keyword" }, "date":{ "type":"date", "format":"yyyyMMdd HH:mm:ss||yyyyMMdd||epoch_millis" } } } } }
查看全部 -
如果版本是6.5,就应如下配置,否则找不到master
其中,http.port可以不填
报错with the same id but is a different node instance
这个问题是因为复制了已经启动过一次的实例,在es下的data目录中产生了节点数据,处理方式为删除data下的文件夹
查看全部 -
课程整体安排
查看全部 -
开发环境要求
查看全部 -
学习前的知识储备
查看全部 -
ES内容简介
查看全部 -
索引: 还有相同属性的文档集合(好比一个数据库)
类型:索引可以定义一个或者多个类型,文档必须属于一个类型(相当与一张表)
文档: 文档是可以背索引的基本数据单位(相当于一条数据)
和索引相关的有“分片”和“备份”
分片:每个索引都有多个分片,每个分片是一个Lucene索引
注:假如一个索引数据量很大,就会产生硬盘压力很大。所以就要‘分片’来分担压力。可以水平的扩展和拆分以及分布式的操作,可以提高搜索和其他操作
备份:拷贝一份分片就完成了分片的备份,注:当一个主分片失败或出现问题时,"备份分片"就可以代替工作,从而提高了ES的可用性,备份的分片还可以执行搜索的操作,来分摊搜索的压力。查看全部 -
添加数据:
1、http://localhost:9200/book/novel/1
{
"doc":{
"word_count": 1000,
"author":"张三",
"title": "移魂大法",
"public_date": "2010-10-01"
}
}
2、http://localhost:9200/book/novel/2
{
"doc":{
"word_count": 2000,
"author":"李三",
"title": "Java入门",
"public_date": "2010-10-01"
}
}
3、http://localhost:9200/book/novel/3
{
"doc":{
"word_count": 2000,
"author":"张四",
"title": "Python入门",
"public_date": "2005-10-01"
}
}
4、http://localhost:9200/book/novel/4
{
"doc":{
"word_count": 1000,
"author":"李四",
"title": "Elasticsearch大法好",
"public_date": "2010-10-01"
}
}
5、http://localhost:9200/book/novel/5
{
"doc":{
"word_count": 5000,
"author":"王五",
"title": "菜谱",
"public_date": "2002-10-01"
}
}
6、http://localhost:9200/book/novel/6
{
"doc":{
"word_count": 10000,
"author":"赵六",
"title": "剑谱",
"public_date": "1997-01-01"
}
}
7、http://localhost:9200/book/novel/7
{
"doc":{
"word_count": 1000,
"author":"张三丰",
"title": "太极拳",
"public_date": "1997-01-01"
}
}
8、http://localhost:9200/book/novel/8
{
"doc":{
"word_count": 3000,
"author":"瓦力",
"title": "Elasticsearch入门",
"public_date": "2017-08-20"
}
}
9、http://localhost:9200/book/novel/9
{
"doc":{
"word_count": 3000,
"author":"很胖的瓦力",
"title": "Elasticsearch精通",
"public_date": "2017-08-15"
}
}
10、http://localhost:9200/book/novel/10
{
"doc":{
"word_count": 1000,
"author":"牛魔王",
"title": "芭蕉扇",
"public_date": "2000-10-01"
}
}
11、http://localhost:9200/book/novel/11
{
"doc":{
"word_count": 1000,
"author":"孙悟空",
"title": "七十二变",
"public_date": "2000-10-01"
}
}
查看全部 -
子条件查询
查看全部 -
es是java写的,可以横向扩展
查看全部 -
安装前提:
jdk 1.8
node
elasticsearch-5.5.2/config/elasticsearch.yml 修改
1.让head插件能够连接访问(配置允许跨域访问)
http.cors.enabled:true http.cors.allow-origin: "*"
2.分布式集群配置(设置主从关系)
#集群名称 cluster.name: wali #指定该服务为指挥官角色 node.name: master node.master: true #绑定的ip network.host: 127.0.0.1
查询并关闭当前目录下启动的后台进程
#查询 ps -ef | grep `pwd` #关闭进程 kill {进程号}
head插件服务浏览器访问地址:http://localhost:9100
elasticsearch服务浏览器访问地址(查看集群名字等基本信息):http://localhost:9200
设置从机配置:
同主机安装一样,在新目录安装elasticsearch,并将目录名设置为es_slave1 ...
cp -r elasticsearch-5.5.2 es_slave1 cp -r elasticsearch-5.5.2 es_slave2
修改yml文件配置
#集群名称,需要和主机的保持一致 cluster.name: wali #设置节点名称 node.name: slave1 #设置ip network.host: 127.0.0.1 #指定服务启动端口 http.port: 8200 #找到集群中的master discovery.zen.ping.unicast.hosts: ["127.0.0.1"]
同样的方式再建立slave2
查看全部 -
mappings 参数代表结构化 参数内容为空时为非结构化
查看全部
举报