ElasticSearch

本文涉及的产品
云原生数据库 PolarDB MySQL 版,Serverless 5000PCU 100GB
检索分析服务 Elasticsearch 版,2核4GB开发者规格 1个月
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介: ElasticSearch什么?基于Luncene的搜索服务器。用Java开发的,主要解决mysql性能低、功能有限的问题。mysql是关系型数据库 like ‘%小区%’如果使用模糊查询,左边有通配符,不会走索引,会全表扫描,性能低。

ElasticSearch

什么?

基于Luncene的搜索服务器。用Java开发的,主要解决mysql性能低、功能有限的问题。

mysql是关系型数据库 like ‘%小区%’

如果使用模糊查询,左边有通配符,不会走索引,会全表扫描,性能低。

功能有限:有些电商的多个模糊搜索单个sql不太好做。

mysql有些情况下索引失效了,没有使用索引会使得效率低。同时数据量大,查询慢。这时一般用带有key-value形式的redis缓存或者专门擅长搜索的ES。


document————————》index(索引库)


ElasticSearch优点:

1、是一个分布式、高扩展、高实时的搜索与数据分析引擎。

2、基于Restful web接口

3、应用于 1 海量数据查询 2 日志数据分析 3 实时数据分析

与mysql一般一起用

ElasticSearch负责搜索数据,但是安全性性,不适合存储数据

mysql安全性高,用来存储数据,和部分CRUD


索引(index)

ElasticSearch存储数据的地方,可以理解成关系型数据库中的数据库概念。

映射(mapping)

mapping定义了每个字段的类型、字段所使用的分词器等。相当于关系型数据库中的表结构。

文档(document)

Elasticsearch中的最小数据单元,常以json格式显示。一个document相当于关系型数据库中的一行数据。

倒排索引(反向索引)

一个倒排索引由文档中所有不重复词的列表构成,对于其中每个词,对应一个包含它的文档id列表。

通过分词策略,形成词和文章的映射关系表,这种词典 映射表 就是倒排索引。

o(1) 复杂度 提高效率

底层 FST数据结构 空间占用小、查询速度快


=============


ElasticSearch的亮点除了各种各样的复杂问题简单化的查询、提高查询性能外;

它有这集群的特性,并天然支持分布式(封装好了分布式)


集群:多个人做一样的事

分布式:多个人做不一样的事


集群的好处:

系统高可用

分担请求的压力


分布式的好处:

系统高性能,高速度

分担存储和计算的压力

解耦


语法

查看详情
get /person002/_search
查看mappings
get /person002/_mapping
查看所有索引
get _cat/indices
查看100条件记录
GET _search
{
  "query": {
    "match_all": {}
  },
  "from": 0,
  "size":100
}
查看具体_doc_id
get /person002/_doc/8

应用

应用:智能客服、微博热点、百度搜索、外卖电商评价、翻译、广告推荐、机器学习、识别敏感信息

用哪些分词:

ik分词器

中文:

HanLP

相关实践学习
使用阿里云Elasticsearch体验信息检索加速
通过创建登录阿里云Elasticsearch集群,使用DataWorks将MySQL数据同步至Elasticsearch,体验多条件检索效果,简单展示数据同步和信息检索加速的过程和操作。
ElasticSearch 入门精讲
ElasticSearch是一个开源的、基于Lucene的、分布式、高扩展、高实时的搜索与数据分析引擎。根据DB-Engines的排名显示,Elasticsearch是最受欢迎的企业搜索引擎,其次是Apache Solr(也是基于Lucene)。 ElasticSearch的实现原理主要分为以下几个步骤: 用户将数据提交到Elastic Search 数据库中 通过分词控制器去将对应的语句分词,将其权重和分词结果一并存入数据 当用户搜索数据时候,再根据权重将结果排名、打分 将返回结果呈现给用户 Elasticsearch可以用于搜索各种文档。它提供可扩展的搜索,具有接近实时的搜索,并支持多租户。
相关文章
|
1月前
|
存储 搜索推荐 关系型数据库
为什么需要 Elasticsearch
为什么需要 Elasticsearch
21 0
|
26天前
|
自然语言处理 Java 网络安全
ElasticSearch
ElasticSearch
47 2
|
9天前
|
存储 JSON 数据可视化
Elasticsearch
Elasticsearch
21 6
|
11月前
|
存储 Java 关系型数据库
一起来学ElasticSearch(九)
前言 目前正在出一个Es专题系列教程, 篇幅会较多, 喜欢的话,给个关注❤️ ~ 本节给大家讲下es中如何做聚合操作, 内容有点多,需要耐心看完~ 本文偏实战一些,好了, 废话不多说直接开整吧~ 什么是聚合 聚合的概念有点类似mysql中group by,sum(...),这么说大家可能就有点印象了, 但是在es中聚合操作功能更强大。 在了解es中聚合的概念之前,先来看下这两个概念, 聚合就是一个或多个桶和零个或多个指标的组合。
|
SQL 搜索推荐 数据挖掘
大话ElasticSearch(下)
搜索引擎简述 什么是搜索? 搜索:就是在任何场景下,找寻你想要的信息,这个时候,会输入一段你要搜索的关键字,然后就期望找到这个关键字相关的有些信息。 搜索分类: 普通的网页搜索、垂直搜索引擎等
|
存储 JSON 关系型数据库
|
存储 JSON 自然语言处理
ElasticSearch究竟是个什么东西
ElasticSearch的目标就是实现搜索。在数据量少的时候,我们可以通过索引去搜索关系型数据库中的数据,但是如果数据量很大,搜索的效率就会很低,这个时候我们就需要一种分布式的搜索引擎。Elasticsearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。
|
Linux 索引 Windows
Elasticsearch就是这么简单(一)
最近有点想弄一个站内搜索的功能,之前学过了Lucene,后来又听过Solr这个名词。接着在了解全文搜索的时候就发现了Elasticsearch这个,他也是以Lucene为基础的。
157 0
Elasticsearch就是这么简单(一)
|
存储 JSON 缓存
Elasticsearch 系列之一 —— 初识
Elasticsearch 故名思议,Elastic Search 一个分布式搜索中间件。据说是创始人给妻子开发搜索食谱的应用时,顺手做的中间件。果然,爱情的力量是伟大的,否则也不会有至今广受使用的 Elasticsearch 了。 ​ 分布式、高性能、近实时是 Elasticsearch 的特点。它可以对几乎所有类型的数据(基本值类型、地理空间、IP 等)进行搜索,这依赖于针对不同的类型建立合适的索引结构,后面的系列我们将详细分析索引部分,本次我们分析 Elasticsearch 的系统概念与读写流程。
Elasticsearch 系列之一 —— 初识

热门文章

最新文章