Elastcseaarch

Elasticsearch的工作原理是什么
原始数据会从多个来源 (包括日志、系统指标和网络应用程序)输入到Elasticsearch中,数据采集指在Elasticsearch中进行索引之前解析、标准化并充实这些原始数据的过程。这些数据在Elasticsearch中索引完成之后,用户便可针对他们的数据运行复杂的查询,并使用聚合来检索自身数据的复杂汇总。在Kibana中,用户可以基于自己的数据创建强大的可视化,分享仪表板,并对Elastic Stack进行管理。

Elasticsearch索引是什么
Elasticcsearcch 索引指相互关联的文档集合。es会以JSON文档的形式存储数据。每个文档都会在一组健(字段或属性的名称)和它们对应的值(字符串、数字、布尔值、日期、数值组、地理位置或其他类似的数据)之间建立联系。
Elasticsearch使用的是一种为倒排索引的数据结构,这一结构的设计可以允许十分快速地进行全文搜索。倒排索引会列出在所有文档中出现的每个特有词汇,并且可以找到包含每个词汇的全部文档。
在索引过程中,es会 存储文档并构建倒排索引,这样用户便可以近实时地对文档数据进行搜索。索引过程是在索引API中启动的,通过此API您即可向特定索引中添加JSON文档,也可更改特定索引中的JSON文档。

es基础概念
索引——类似mysql的数据库
类型——类似mysql的表
文档——类似mysql的一行数据
属性——类似mysql表中的字段类型

倒排索引
个人理解是:插入数据的时候,es会把整句拆分,
例如用IK分词器,把整句拆分,维护到记录中,记录会
存储这个词在那些文档含有(类似数据库的一行数据),会把包含有的数据查询出来,包含有的数据太多了,会根据一个相关性得分进行排序。

_seq_no 每次修改
可以用来做乐观锁

POST请求 _update
需要外层带doc{
“name”:“小米”
}
相同请求两次
result:“noop”

会对比之前数据 如果是相同,不会进行修改,_version版本也不会变 _seq_no也不会变。

POST、PUT请求不带_update,每次都会修改 _version版本会变 _seq_no也会变。

query 查询
match适合分词查询(模糊查询)
match_phrase(文本短语 精确查询)
filter 过滤
term精确查询(适用于非文本类型)
全文检索字段用match,其他非text字段匹配用term

“type”:“nested” 设置数据是否是扁平化处理

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值