#博学谷IT学习技术支持#
elasticsearch是一款非常强大的开源搜索引擎 ,elasticsearch结合kibana、Logstash、Beats,也就是elastic stack(ELK)。被广泛应用在日志数据分析、实时监控等领域 。
mysql与elasticsearch
Mysql:擅长事务类型操作,可以确保数据的安全和一致性
Elasticsearch:擅长海量数据的搜索、分析、计算
对安全性要求较高的写操作,使用mysql实现
对查询性能要求较高的搜索需求,使用elasticsearch实现
两者再基于某种方式,实现数据的同步,保证一致性
mapping映射属性
type:字段数据类型,常见的简单类型有:
字符串:text(可分词的文本)、keyword(精确值,例如:品牌、国家、ip地址)
数值:long、integer、short、byte、double、float、
布尔:boolean
日期:date
对象:object
index:是否创建索引,默认为true
analyzer:使用哪种分词器
properties:该字段的子字段
{
"age": 18,
"weight": 19.3,
"isMarried": false,
"info": "我是一个好学生",
"email": "126lll.@",
"score": [500, 1999, 95.],
"name": {
"firstName": "张",
"lastName": "三"
}
}
索引库的CRUD
基本语法:
请求方式:PUT
请求路径:/索引库名,可以自定义
请求参数:mapping映射
查询索引库
基本语法:
请求方式:GET
请求路径:/索引库名
请求参数:无
GET /索引库名
修改索引库
索引库一旦创建,无法修改mapping。
PUT /索引库名/_mapping
{
"properties": {
"新字段名":{
"type": "integer"
}
}
}
删除索引库
语法:
请求方式:DELETE
请求路径:/索引库名
请求参数:无
DELETE /索引库名