首页 > 其他分享 >ElasticSearch 文本分析

ElasticSearch 文本分析

时间:2024-01-02 12:32:36浏览次数:30  
标签:分析 字符 分析器 单词 ElasticSearch 分词器 类别 文本


ElasticSearch 文本分析_分词器

文本分析的原理

ElasticSearch 文本分析_elasticsearch_02


分析器

类别

类别名

介绍

Standard Analyzer

standard

标准分析器,按照 Unicode 文本分割算法切分单词,删除大多数标点符号并将单词转为小写形式,支持过滤停用词

Simple Analyzer

simple

简单分析器,在非字母的地方把单词切分开并将单词转为小写形式

Whitespace Analyzer

whitespace

空格分析器,遇到空格就切分字符,但不改变每个字符的内容

POST _analyze
{
  "analyzer": "whitespace",
  "text":     "The quick brown fox."
}

字符过滤器

类别

类别名

介绍

HTML Strip Character Filter

html_strip

去掉文本中的html标签

Mapping Character Filter

mapping

根据提供的字段映射,把文本中的字符转换为映射的字符

Pattern Replace Character Filter

pattern_replace

根据指定的正则表达式把匹配的文本转换为指定的字符串

GET /_analyze
{
  "tokenizer": "keyword",
  "char_filter": [
    "html_strip"
  ],
  "text": "<p>I'm so <b>happy</b>!</p>"
}

过滤后的结果为

I'm so happy!

分词器

类别

类别名

介绍

Standard Tokenizer

standard

标准分词器,标准分析器采用的分词器,删除大多数标点符号,把文本切分为独立单词

Letter Tokenizer

letter

字母分词器,在非字母的地方把单词切分开,非字母字符会被丢弃

Lowercase Tokenizer

lowercase

小写分词器,在字母分词器的基础上把大写字母转为小写字母,

Whitespace Tokenizer

whitespace

空格分词器,是空格分析器的组成部分,在空格处把文本切分开并保持文本内容不变

Keyword tokenizer

keyword

将输入的整个文本当作一个词汇单元,不对文本进行拆分或处理

POST _analyze
{
  "tokenizer": "lowercase",
  "text": "The 2 QUICK Brown-Foxes"
}
[the, quick, brown, foxes]

分词过滤器

类别

类别名

介绍

Stop token filter

stop

用于去除文本中常见但对分析无关紧要的停用词,比如 and that then

Length token filter

length

过滤掉太短或者太长的词汇

Stemmer token filter

stemmer

把每个分词转化为对应的原型(例如去掉,复数,时态等)

GET _analyze
{
  "tokenizer": "standard",
  "filter": [ "stemmer" ],
  "text": "the foxes jumping quickly"
}

过滤后的结果为

[the, fox, jump, quickli]

自定义分析器

自定义分析器可以用到的参数如下

参数名

解释

type

分析器类型,对于自定义分析器,可以使用custom 或忽略此参数

tokenizer

内置的或定制的分词器,必须的

char_filter

可选的内置的或定制的字符过滤器数组

filter

可选的内置的或定制的分词过滤器数组

标签:分析,字符,分析器,单词,ElasticSearch,分词器,类别,文本
From: https://blog.51cto.com/u_15651175/9067675

相关文章

  • ElasticSearch 搜索数据
    精确查询存在查询Existsquery用于查询某个字段不为空的数据。如下所示,查询age不为空的数据POSTuser/_search{"query":{"exists":{"field":"age"}}}主键查询通过_id字段查询数据POSTuser/_search{"query":{"ids"......
  • 【C++】STL 容器 - priority_queue 优先级队列容器 ( 容器简介 | 容器操作性能分析 |
    文章目录一、priority_queue优先级队列容器1、priority_queue优先级队列容器简介2、priority_queue优先级队列容器操作性能分析二、代码示例-priority_queue优先级队列容器1、默认优先级队列容器2、最大值优先级队列3、最小值优先级队列一、priority_queue优先级队列容器......
  • 【积微成著】性能测试调优实战与探索(存储模型优化+调用链路分析)| 京东物流技术团队
    一、前言性能测试之于软件系统,是保障其业务承载能力及稳定性的关键措施。以软件系统的能力建设为主线,系统能力设计工作与性能测试工作,既有先后之顺序,亦有相互之影响。以上,在性能测试的场景决策,架构分析、流量分析、压测实施和剖解调优等主要环节中,引发对于系统能力底盘夯实和测试策......
  • 【JS逆向】某建筑市场监督管理平台企业数据加密逆向分析探索!
    一个很典型的加密数据反爬网站,目的就是反爬,不让你拿到企业相关数据,有着很典型的特征,在查找数据的时候看不到任何内容数据,都是加密的内容数据。网站网页返回数据信息内容,很典型的加密数据内容:网址:aHR0cHM6Ly9qenNjLm1vaHVyZC5nb3YuY24vZGF0YS9jb21wYW55分析网页接口数据信息2.通过翻......
  • Rust抓取抖音app达人数据并分析热度
    抖音作为最热门的短视频平台之一,人流量很大,而且内容相对丰富。最近有朋友公司想要我采集一些达人数据,厚着脸皮过来求我,我又推脱不掉,索性利用下班时间给他到了个自动爬虫程序,同时也标识一些注意点,让他自己随时修改。抖音APP达人数据抓取是一个复杂的过程,涉及到网络爬虫、数据解析、......
  • ueditor 富文本编辑器粘贴图片时让图片居中
    需求今天碰到个需求,客户要求在把微信公众号中的文章粘贴到富文本框时将文字向左对齐,图片居中作为一个已经几年没碰前端的我来说有点头大,百度google了一番未果,只好自己研究去了花了2个多小时终于搞定话不多说,直接上代码主要是retainOnlyLabelPasted和filterRulesretainOnlyLabelP......
  • TinyMCE富文本编辑器粘贴图片自动上传问题解决
    TinyMCE编辑器支持粘贴图片,但是自动会将图片转换成base64编码,这样将内容提交到后台,数据会很大。  图|TinyMCE本文内容配置TinyMCE(版本:5.10.0)向编辑器中粘贴图片自动上传到后台,以下为配置代码:tinymce.init({selector:'#textarea',plugins:'previewautolinkdire......
  • 岩土工程监测振弦采集仪的解决方案案例分析
    岩土工程监测振弦采集仪是用于测量岩土地质中的振动信号和地层参数的设备。以下是解决方案分析:设备选择:选择合适的振弦采集仪是解决问题的第一步。需要考虑设备的测量范围、精度、灵敏度等技术指标,以及设备的可靠性、耐用性、便携性等因素。数据采集:振弦采集仪通常会记录振动信号的......
  • 【AI 实战】Text Processing and Word Embedding 文本处理以及词嵌入原理和代码实例讲
    文章目录【AI实战】TextProcessingandWordEmbedding文本处理以及词嵌入原理和代码实例讲解TexttoSequenceStep1:TokenizationStep2:BuildDictionaryStep3:One-HotEncodingStep4:AlignSequencesTextProcessinginKerasWordEmbedding:WordtoVectorHowtom......
  • 使用 JavaScript 根据输入值调整输入字段 (HTML) 的 (CSS) 中的文本颜色
    可以通过以下代码使用JavaScript根据输入值调整输入字段的文本颜色:HTML:<inputtype="text"id="myInput"oninput="changeTextColor()"placeholder="Enteravalue">CSS:#myInput{color:black;}JavaScript:functionchangeTextColor......