学习-ES
分布式搜索
了解
*可以从海量数据找到所需内容
*结合 kibana(数据可视化),logstash(数据抓取),es(存储计算)? 合称 ELK? (数据分析,监控)
mysql是正向索引()
es是倒排索引:(先找查词条找到id,再根据id找到文档)
? ? ? ? 文档:一条数据
? ? ? ? 词条:将文档按语义分为词语(不重复)
es合mysql对比
*存储为json风格
*索引(index)(相同文档的集合)(表)
*文档(document)(就是行数据)
*字段(field)
*映射(mapping) 文档的约束-如字段名称类型(唯一约束)
*DSL? :json风格的请求语句 基于HTTP请求发送(sql)
?
分词器
(根据词库)
默认:对中文不是很友好
中文选择:IK
????????可以拓展词汇合禁止词汇
? ? ? ? 两种模式:smart(智能粗粒度),max_word(最细粒度)
索引库操作(建表)
常见的Mapping属性:
*type:数据类型
? ? ? ? *字符串 :text(可分词的), keyword(精确不可以拆)
? ? ? ? *数值:long,int,short,double,float
? ? ? ? *boolean
? ? ? ? *date:日期
? ? ? ? *对象:object? (json对象)
? ? ? ? *没有数组类型
*index: 是否创建索引 默认true
*analyzer :使用哪个分词器(对于字符串的text)
*properties:该字段的子字段(对于object对象)
?
禁止修改索引库,可以添加新字段
插入push,查get, 删? delete,改put
改put(id不存在就新增)
*全量修改
*局部修改
利用JavaRestClient操作
基本语法
DSL
*全文检索
*精确查询
*地理查询
*复合查询(将上述的组合起来)
?
java的restClient
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!