AnalysisAnalysis 解析器由三个模块=character filters(字符过滤器), tokenizers(标记器), and token filters(标记过滤器)组成Analysis 中的自定义分词analysis 基本概念 === 全文索引中会用到Tokenizer(分词器)对文档分词,提取token(词元),讲token进一步处理如大小写转换的算法叫Filter(过滤器
转载
2024-07-01 14:12:12
65阅读
前言我们通过前面两篇文章的学习,基本解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阅读
文章目录一、本地文件读取方式二、远程扩展热更新 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阅读
## 什么是分词
```
把文本转换为一个个的单词,分词称之为analysis。es默认只对英文语句做分词,中文不支持,每个中文字都会被拆分为独立的个体。
```## es内置分词器
```
- standard:默认分词,单词会被拆分,大小会转换为小写。
- simple:按照非字母分词。大写转为小写。
- whitespace:按照空格分词。忽略大小写。
- stop:去除无意义单
转载
2023-12-28 08:27:02
49阅读
在ES中,词项搜索也叫term搜索,term就有词项的意思。词项检索的意思就是说我输入一个词汇,在检索的时候不会把你输入的这个词汇做分词,匹配条件就是完整的输入的词汇,但是文档插入的时候该分词还是分词。下面会有例子说明。 全文检索不一样,全文检索就是按照分词插入,分词匹配,分词处理输入条件。一、基于Term的查询1、简介term是表达语义最小的单位,搜索和利用统计语言模型进行自然语言处理都需要处理
转载
2024-04-24 15:34:29
81阅读
倒排索引正排索引:文档id到单词的关联关系倒排索引:单词到文档id的关联关系示例: 对以下三个文档去除停用词后构造倒排索引 image倒排索引-查询过程查询包含“搜索引擎”的文档通过倒排索引获得“搜索引擎”对应的文档id列表,有1,3通过正排索引查询1和3的完整内容返回最终结果倒排索引-组成单词词典(Term Dictionary)倒排列表(Posting List)单词词典(Term
1. ES其实也就像一个数据库,它有自己的一套存储结构。像建立数据库表一样,我们需要为每个字段添加一些属性,比如字段类型,该字段是否要分词,该字段需要哪种分词器去解析它等。以下是完整的字段属性:
1. "status": {
2. "type": "string", //字符串类型
3. "index": "analyzed"//分词,不分
转载
2024-05-21 20:10:01
299阅读
1、es分词:分词是将文本转换成一系列单词的过程,也可以叫文本分析,在ES里面称为Analysis;2、分词器:分词器是ES中专门处理分词的组件,英文为Analyzer,它的组成如下: character filter:字符过滤器,对文本进行字符过滤处理,如处理文本中的html标签字符。处理完后再交给tokenizer进行分词。一个analyzer中可包含0个或多个字符过滤器,多个按配置顺序依次进
转载
2023-09-12 16:52:09
110阅读
Elasticsearch中,内置了很多分词器(analyzers),例如standard (标准分词器)、english (英文分词)和chinese (中文分词)。其中standard 就是无脑的一个一个词(汉字)切分,所以适用范围广,但是精准度低;english 对英文更加智能,可以识别单数负数,大小写,过滤stopwords(例如“the”这个词)等;chinese 效果很差; 1、ela
转载
2024-06-01 18:32:26
188阅读
上课我们介绍了倒排索引,在里面提到了分词的概念,分词器就是用来分词的。 分词器是ES中专门处理分词的组件,英文为Analyzer,定义为:从一串文本中切分出一个一个的词条,并对每个词条进行标准化。它由三部分组成,Character Filters:分词之前进行预处理,比如去除html标签Tokenizer:将原始文本按照一定规则切分为单词Token Filters:针对Tokenizer处理的单
转载
2024-05-20 21:32:15
55阅读
针对一些特殊的词语在分词的时候也需要能够识别 有人会问,那么,例如: 如果我想根据自己的本家姓氏来查询,如zhouls,姓氏“周”。 如果我想根据自己公司里的产品名称来查询,如“” 如果我想根据某个网络上流行的词名称来查询,如“扫福” 那么,若直接使用es-ik则分不出来的,所以,这就是为
转载
2024-09-01 08:38:54
38阅读
文档(Document):一般搜索引擎的处理对象是互联网网页,而文档这个概念要更宽泛些,代表以文本形式存在的存储对象,相比网页来说,涵盖更多种形式,比如Word,PDF,html,XML等不同格式的文件都可以称之为文档。再比如一封邮件,一条短信,一条微博也可以称之为文档。 文档集合(Document Co
转载
2024-07-22 17:28:39
52阅读
背景:公司最近采用Elasticsearch搜索,以前一直没有深入的了解过,今天看了一下Elasticsearch文本分析这一块,记录自己的理解,也为大家分享自己的见解 分词是针对于文字内容的,所以这里只说文本类型,说起分词,首先来说一下es中的类型,es以前的文本类型是String类型,后来将String类型一分为二,改为keyword与text类
转载
2024-03-22 16:01:55
69阅读
分词器ES的分词器把文本解析为一个一个的词,写入倒排索引中filter过滤器lemmagen 词性还原stop 停顿词shingle 临近词n个作为一组查询analyzer分词器standard标准分词器多字段搜索优化bool 查询采取 more-matches-is-better 匹配越多越好的方式,所以每条 match 语句的评分结果会被加在一起,从而为每个文档提供最终的分数 _score 。
转载
2024-02-22 16:43:42
43阅读
ES的分词1.什么是分析分析是在文档被发送并加入倒排索引之前,Elasticsearch在其主体上进行的操作。一般会经历下面几个阶段。字符过滤:使用字符串过滤器转变字符串。文本切分为分词:将文本切分为单个或多个分词。分词过滤:使用分词过滤器转变每个分词。分词索引:将这些分词存储到索引中。1、character filter:在一段文本进行分词之前,先进行预处理,比如说最常见的就是,过滤html标签
转载
2024-03-19 12:31:02
372阅读
ES分词器种类常见的分词器,如Standard分词器、Simple分词器、Whitespace分词器、IK分词等,还支持自定义分词器(比如一些小国家的语言需要自定义分词器)ES默认就是Standard分词器分词器在分词时的过程标记化:分词器第一步是将文本拆分成单个标记(tokens), 就是单个的单词或中文词组,这个标记可以是单词,数组,特殊字符,中文词语等。 此时会包含一些分隔符,标点,停用词等
转载
2024-06-24 15:54:00
42阅读
由于elasticSearch版本更新频繁,此笔记适用ES版本为 7.10.2此笔记摘录自《Elasticsearch搜索引擎构建入门与实战》第一版文中涉及代码适用于kibana开发工具,其他如es-head则语法会不太相同elasticSearch学习笔记03-分词es的分词功能十分强大且复杂,此篇来详细了解此篇不适合小白入门,不对分词基本概念做过多解释1.测试分词器先测试standard分词器
转载
2023-12-31 15:46:57
87阅读
什么是分词分词就是指将一个文本转化成一系列单词的过程,也叫文本分析,在Elasticsearch中称之为Analysis。举例:我是中国人 --> 我/是/中国人 结果: {
"tokens": [
{
"token": "hello",
"start_offset": 0,
"end
转载
2024-04-03 10:35:47
322阅读