Elasticsearch初步认识

Elasticsearch初步认识

ES概述

Elasticsearch,简称为 ES,是一款非常强大的开源的高扩展的分布式全文检索引擎,可以帮助我们从海量数据中快速找到需要的内容,它可以近乎实时的存储、检索数据.还可以可以实现日志统计、分析、系统监控等功能

基本概念

ES是面向文档存储,可以是数据库中的一条商品数据,一个订单信息

注:文档数据会被序列化为 json 格式后存储在 elasticsearch 中
索引 :同类型文档的集合
文档 :一条数据就是一个文档,es 中是 Json 格式
字段 :Json 文档中的字段
映射 :索引中文档的约束,比如字段名称、类型
注:常见的 mapping 属性包括

type:字段数据类型,常见的简单类型有:

字符串:text(可分词的文本),keyword(精确值,例如:品牌,国家,邮箱)

数值:long、integer、short、byte、double、float、

布尔:boolean

日期:date

对象:object

index:是否创建索引参与搜索,默认为 true,如果不需要参与搜索设置为 false

analyzer:使用哪种分词器
关系行数据库 MySQL 和 elasticsearch 对比

Mysql:擅长事务类型操作,可以确保数据的安全和一致性
Elasticsearch:擅长海量数据的搜索、分析、计算

正向索引和倒排索引

Mysql 采用正向索引:

基于文档 id 创建索引。查询词条时必须先找到文档,而后判断是否包含搜索的内容.

elasticsearch 采用倒排索引:

文档(document):每条数据就是一个文档

词条(term):文档按照语义分成的词语

IK分词器

**分词:**即把一段中文或者别的划分成一个个的关键字,我们在搜索时候会把自己的信息进行分词,然后进行一个匹配操作,默认的中文分词器是将每个字看成一个词,比如"我爱中国"会被分为"我","爱","中","国",这显然不符合要求,所以我们需要安装中文分词器IK来解决这个问题
注:IK提供了两个分词算法:ik_smart和ik_max_word

ik_smart最少切分

ik_max_word为最细粒度划分


注:还可以自定义分词(参考安装部分)

ES索引库基本操作

对索引库操作

1.创建索引库


2.通过GET请求获得具体信息

sql 复制代码
Get /new


3.修改索引库:

注:索引库和 mapping 一旦创建无法修改,但是可以添加新的字段


4.删除索引库

sql 复制代码
//DELETE /索引库名
DELETE /new

对文档操作

1.添加文档

sql 复制代码
POST /索引库名/_doc/文档 id
{ "字段名 1":"值 1"
"字段名 2":"值 2"
..... 
}


2.查询文档

sql 复制代码
//GET /索引库名/_doc/文档 id
GET /new/_doc/1


3.修改文档

sql 复制代码
POST /索引库名/_update/文档 id
{ "doc":{ 
"要修改的字段":"新值"
        }
}



4.搜索文档

sql 复制代码
GET /news/_search
{"query":
{
 "match":
 {
  "title":"美国"
 }
}
}



5.删除文档

sql 复制代码
//DELETE /索引库名/_doc/文档 id
DELETE /new/_doc/1
相关推荐
zhbcddxr9 分钟前
GEO服务商度量监测能力测评:可见度追踪与报表排行
大数据·人工智能·microsoft
科技发布24 分钟前
拆解传播易服务模式,看清小红书团购从入驻变现完整逻辑
大数据·人工智能
智道天成1 小时前
杭州智道天成信息科技有限公司:助力浙江企业合规高效落地
大数据·人工智能·科技
一只鹿鹿鹿2 小时前
三甲综合智慧医院信息化总体解决方案(PPT文件)
大数据·运维·物联网·安全·政务
java1234_小锋2 小时前
【免费】基于Spark实时交通流量分析与拥堵预测系统(Java版本+可视化大屏+Kafka+SpringBoot+Vue3) 锋哥原创出品,必属精品
java·大数据·spark·kafka·实时交通流量分析与拥堵预测
天国梦2 小时前
智习室英语学习工具选型指南:2026年品牌合作筛选方法与落地评估
大数据·人工智能
瓦学妹3 小时前
为什么您的AI总是显示“不支持的区域”?如何解决?
大数据·网络·人工智能
oh,huoyuyan3 小时前
跨境电商自动化运营工具推荐:火车采集器 & 火语言RPA
大数据·自动化·rpa
zcmodeltech3 小时前
化工装置沙盘模型多设备协同控制系统设计:基于STM32与Modbus RTU的装置-流程-安全联动方案
大数据·stm32·嵌入式硬件·安全·unity·制造
szephyr3 小时前
腾讯云 ADP 智能体上线后响应变慢,先查 RAG 召回链路还是 Workflow 分支?诊断路径与排查清单
大数据·人工智能·腾讯云