Elasticsearch

什么是elasticsearch

根据维基百科的定义:Elasticsearch 是一个基于Lucene库的搜索引擎。它提供了一个分布式、支持多租户的全文搜索引擎,具有HTTP Web接口和无模式JSON文档。

为啥要用elasticsearch

高性能,近实时,大数据,丰富的功能,灵活的查询和搜索操作,社区支持与生态系统。

一些基本概念

数据的组织方式:索引:对应 mysql 的表

文档:对比mysql表的数据

数据的部署方式,主要讨论分片和副本

分片:类比关系型数据库中的分库分表

副本:类比主从 同步的从库

本质上来说,大型中间件都是有类似的机制:

分片:无法将数据都放在同一个地方,分布式的概念。

副本:一般来说一个分片有多个副本,防止崩溃而导致的缺失。

倒排索引

其中实现一个比较重要的概念就是"倒排索引",其中这个概念在人工智能概述中接触过,所谓倒排索引,根据维基百科的定义 倒排索引(英语:Inverted index),也常被称为反向索引、置入档案或反向档案,是一种索引方法,被用来存储在全文搜索下某个单词在一个文档或者一组文档中的存储位置的映射。

个人理解就是 关键词,就是 搜索 苹果,会出来几个喜欢苹果相关的人。而不是专门去找某个人?

elasticsearch基本概念 :写入流程

如何写入的?

先被写入到buffter里面,然后定时刷新到page cache 里面 加refresh。

刷新到磁盘中,这时候还会同步记录一个 commit point 。

只有在commit point 里面的数据 才可以被搜索到的,这也就是说elasticsearch 是一个近实时中间件的原因。

elasticsearch字段类型

核心数据字段

字符串数据类型:text (分词) keyword(不分词)

数值型:如long integer short byte double float half_float half_float scaled_gloat

日期类型:date

布尔类型 boolean

二进制类型 binary

范围类型 integer_range、float_range、long_range 、 double_range 、 date_range

复杂数据类型

数组类型:不需要专门的类型来定义数组

对象类型:object 单独的json对象

嵌套类型:nested object

地理位置数据类型

地理点数据类型:geo_point ,经纬点

地理形状数据类型:geo_shape 多边形的复杂地理形状。

专用数据类型

IPV4 ip协议为ipv4 的地址。

完成数据类型:completion

单词技术数据类型 :token count 统计字符串中的单词数量。

支持的查询

有什么不会的问gpt就是了,或者查文档,问题导向驱动。

相关推荐
Georgeviewer6 小时前
商业落地评测|实体门店GEO优化性价比与服务体系深度复盘
大数据·人工智能
腻害兔8 小时前
【若依项目-产品经理视角】深度拆解 RuoYi-Vue-Pro 商城模块:从商品管理到交易引擎,50 张表撑起一整套电商系统
java·大数据·vue.js·产品经理·ai编程
GIR1238 小时前
官方出品 | 多通道土壤呼吸测量系统市场现状与十五五规划深度报告:行业分析+趋势预测全收录
大数据·人工智能·机器学习
南讯股份Nascent10 小时前
洽洽全域会员项目启动会圆满召开
大数据·人工智能
大郭鹏宇10 小时前
基于 LangGraph 构建智能分诊系统(一):项目概述与环境搭建
大数据·人工智能·microsoft·langchain
阿里云大数据AI技术13 小时前
阿里云 ES AI 引擎版:面向 Agent 场景,为亿级租户、千亿规模向量设计的搜索引擎
人工智能·elasticsearch·agent
天天爱吃肉821813 小时前
【电源拆解:跟着问答逐一认识开关适配器PCB元器件】
大数据·人工智能·python·功能测试·嵌入式硬件·汽车
阿里云大数据AI技术13 小时前
FalconSeek 技术解析:阿里云 Elasticsearch 云原生内核如何让查询性能飙升600%
人工智能·elasticsearch
Elastic 中国社区官方博客14 小时前
将你的 Grafana Kubernetes 仪表板迁移到 Elastic Observability:相同的 PromQL,30 倍更快的查询
大数据·人工智能·elasticsearch·搜索引擎·容器·kubernetes·grafana
abcy07121314 小时前
storm核心实时机制
大数据·storm