为什么要使用ElasticSearch?什么是 elasticSearch高可用和可扩展使用场景elasticSearch和Lucene、Solr的区别ES的几大优势ES相比于传统MySQL的优点 什么是 elasticSearch基于Lucene构建的开源、分布式、RESTful接口的全文搜索引擎分布式文档数据库,其中每个字段均可被索引,而且每个字段的数据均可被搜索、横向扩展至数以百计的服务器
转载
2024-03-27 12:15:47
33阅读
在使用Java进行Elasticsearch(简称ES)查询时,常常会遇到一个困扰开发者的问题:查询条件为何会被分词处理?在这篇博文中,我将分享我对这个问题的理解和解决方案,包括背景、技术原理、架构解析、源码分析、扩展讨论及展望。
### 背景描述
Elasticsearch是一个开源的全文搜索和分析引擎,广泛用于大数据应用中。它具备强大的搜索功能,但在处理查询时,有时出现意想不到的结果。例如
学习Redis时,练习的实战项目代码——基于阻塞队列模式的异步秒杀下单。说明: 企业级开发都不会采用该模式来实现异步秒杀的。这儿只是练习而使用的。电商异步秒杀都是采用的基于专门的消息中间件来完成异步秒杀的,除了异步方式不具有参考价值,但万变不离其宗,道理还是相通的,秒杀资格判断和下单部分还是有参考价值的。一、缺点(问题)1. 并发量大了容易内存溢出2. 数据不安全,容易丢失二、业务需求新增秒杀优惠
转载
2023-08-10 22:55:40
70阅读
由于elasticSearch版本更新频繁,此笔记适用ES版本为 7.10.2此笔记摘录自《Elasticsearch搜索引擎构建入门与实战》第一版文中涉及代码适用于kibana开发工具,其他如es-head则语法会不太相同elasticSearch学习笔记03-分词es的分词功能十分强大且复杂,此篇来详细了解此篇不适合小白入门,不对分词基本概念做过多解释1.测试分词器先测试standard分词器
转载
2023-12-31 15:46:57
87阅读
官方文档位置:https://www.elastic.co/guide/en/elasticsearch/reference/7.5/analysis.html分词分词是指将文本转化成一系列的单词(term or token)的过程,也可以叫文本分析 es里称之为Analysis分词器分词器是es中专门处理分词的组件,英文为Analyzer ,它的组成如下:Character Filters针对原
转载
2024-03-22 13:45:27
106阅读
查询布尔查询(bool query)Bool查询语法有以下特点子查询可以任意顺序出现可以嵌套多个查询,包括bool查询如果bool查询中没有must条件,should中必须至少满足一条才会返回结果。bool查询包含四种操作符,分别是must,should,must_not,filter。他们均是一种数组,数组里面是对应的判断条件。must: 必须匹配。贡献算分 must_not:过滤子句,必须不能
转载
2023-11-13 15:55:03
153阅读
VXLAN(Virtual Extensible LAN)是一种网络虚拟化技术,被智能手机和云计算之父、华为公司创始人任正非称为网络中的“物理网线”。
VXLAN的主要功能是提供虚拟局域网(VLAN)扩展性,解决了传统VLAN数量不足、范围受限的问题。通过VXLAN,企业可以构建更灵活、更可靠的虚拟网络架构。
首先,VXLAN实现了VLAN数量的扩展。传统VLAN只支持最多4096个,并且在广
原创
2024-01-30 18:14:11
71阅读
# Redis如何实现秒杀
## 引言
秒杀是一种高并发的场景,通常会在短时间内涌入大量用户请求,如何高效地处理这些请求是一个非常具有挑战性的问题。Redis作为一款高性能的内存数据库,能够很好地满足秒杀场景的需求。本文将介绍Redis的一些特性以及如何利用这些特性来实现秒杀功能。
## Redis的特性
### 内存数据库
Redis是一款基于内存的数据库,数据存储在内存中,这使得它具有非常
原创
2023-10-26 10:08:26
25阅读
elasticsearch 版本: 6.6Elasticsearch官方已支持SQL查询,用起来贼方便!一、为什么要用全文搜索引擎1. 原因分析:1.1 数据类型全文索引搜索支持非结构化数据的搜索,可以更好地快速搜索大量存在的任何单词或单词组的非结构化文本。 例如 Google,百度类的网站搜索,它们都是根据网页中的关键字生成索引,我们在搜索的时候输入关键字,它们会将该关键字即索引匹配到的所有网页
转载
2024-04-16 11:22:59
36阅读
什么是分词?分词就是指将一个文本转化成一系列单词的过程,也叫文本分析,在Elasticsearch中称之为Analysis。 举例:我是中国人 --> 我/是/中国人什么是分词器?1、顾名思义,分词器就是用来分词的(好像废话。 2、除此之外,有时候感叹语言的博大精深,一种东西有许多种叫法,就从英文来说,monther,mum dady father 这种同义词,其实我们是期望用户不管是输入的
转载
2024-04-08 19:25:13
100阅读
AnalysisAnalysis 解析器由三个模块=character filters(字符过滤器), tokenizers(标记器), and token filters(标记过滤器)组成Analysis 中的自定义分词analysis 基本概念 === 全文索引中会用到Tokenizer(分词器)对文档分词,提取token(词元),讲token进一步处理如大小写转换的算法叫Filter(过滤器
转载
2024-07-01 14:12:12
65阅读
Zen发现机制 zen发现机制是elasticsearch默认的内建模块。它提供了多播和单播两种发现方式,能够很容易的扩展至云环境。 zen发现机制是和其他模块集成的,例如所有节点间通讯必须用trasport模块来完成。 它分成几个子模块,下面详细解释: Ping 这是一个节点使用发现机制去寻找其他节点的进程。同时支持多播和单
背景什么是分词把文本转换为一个个的单词,分词称之为analysis。es默认只对英文语句做分词,中文不支持,每个中文字都会被拆分为独立的个体。es 内置分词standard:默认分词,单词会被拆分,大小会转换为小写。simple:按照非字母分词。大写转为小写。whitespace:按照空格分词。忽略大小写。stop:去除无意义单词,比如the/a/an/is…keyword:不做分词。把整个文本作
转载
2024-03-28 09:51:57
718阅读
简介分词器是es中的一个组件,通俗意义上理解,就是将一段文本按照一定的逻辑,分析成多个词语,同时对这些词语进行常规化的一种工具;ES会将text格式的字段按照分词器进行分词,并编排成倒排索引,正是因为如此,es的查询才如此之快。一个analyzer即分析器,无论是内置的还是自定义的,只是一个包含character filters(字符过滤器)、 tokenizers(分词器)、token filt
转载
2024-03-07 15:21:29
70阅读
在ES中,词项搜索也叫term搜索,term就有词项的意思。词项检索的意思就是说我输入一个词汇,在检索的时候不会把你输入的这个词汇做分词,匹配条件就是完整的输入的词汇,但是文档插入的时候该分词还是分词。下面会有例子说明。 全文检索不一样,全文检索就是按照分词插入,分词匹配,分词处理输入条件。一、基于Term的查询1、简介term是表达语义最小的单位,搜索和利用统计语言模型进行自然语言处理都需要处理
转载
2024-04-24 15:34:29
81阅读
前言我们通过前面两篇文章的学习,基本解es,但还不足以应对我们平时的开发任务,因此我们还需要全面深入的学习es技术。本篇文章会讲述很多底层内核级原理,所以我们需要集中精力深入体会。一 ES 内核级原理及相关概念1.1 分词器原理&介绍它指把一段语句,拆分成单个的单词。同时对每个单词进行normalization (时态转换,单复数转换)处理,以提升recall召回率(搜索的时候,增加能够搜
转载
2024-05-05 15:37:04
192阅读
ElasticSearch1、ElasticSearch学习随笔之基础介绍 2、ElasticSearch学习随笔之简单操作 3、ElasticSearch学习随笔之java api 操作 4、ElasticSearch学习随笔之SpringBoot Starter 操作 5、ElasticSearch学习随笔之嵌套操作 6、ElasticSearch学习随笔之分词算法 7、ElasticSear
转载
2024-08-09 15:55:37
14阅读
# 为什么Redis能实现共享存储
## 引言
Redis是一款高性能的Key-Value存储系统,它具有快速、可靠、可扩展性强等特点,因此在分布式系统中被广泛应用。其中一个重要的特性就是共享存储,即多个应用程序可以同时访问和修改同一个存储区域。本文将详细介绍Redis如何实现共享存储的原理和过程,并提供相应的代码示例。
## Redis共享存储的流程
下面的表格展示了Redis实现共享存储的
原创
2023-10-17 14:27:31
80阅读
文章目录一、本地文件读取方式二、远程扩展热更新 IK 分词三、重写ik源码连接mysql 一、本地文件读取方式首先进入elasticsearch目录的plugins目录下,查看目录结构 2.进入confg目录下 创建文件mydic.dic 并添加:“我是中国人” 3.打开config目录下 IKAnalyzer.cfg.xml配置文件 vim IKAnalyzer.cfg.xml 修改内容如下:
转载
2024-03-21 09:46:18
112阅读
一、需求因为需要对搜索结果进行一个统一化的评分,因此需要仔细研究ES本身的评分规则从而想办法把评分统一。省流:无法确切统一化二、ES查询评分规则之前有说过ES的查询评分原理,那么仔细思考之后就会发现,长文本搜索对应的score会比短文本搜索的score高很多:score=单个分词评分之和,长文本对应的词更多那么score就会更多。通过在查询中设置参数”explain”:true来查看具体的分数来源
转载
2024-02-15 20:45:27
152阅读