当前位置: 首页 > news >正文

Elasticsearch 6.8 分析器

在 Elasticsearch 中,分析器(Analyzer)是文本分析过程中的一个关键组件,它负责将原始文本转换为一组词汇单元(tokens)。

分析器由三个主要部分组成:分词器(Tokenizer)、过滤器(Token Filters)、和字符过滤器(Character Filters)。这些组件共同作用,以确保文本数据被正确索引和搜索。

组成部分

1、字符过滤器(Character Filters)

在分词之前对文本进行预处理。

可以用于去除或替换特定字符或字符序列。

示例:HTML Strip Filter,用于去除 HTML 标签。

2、分词器(Tokenizer)

将文本分割成基本的词汇单元。

决定了词汇单元的边界。

示例:Standard Tokenizer、Whitespace Tokenizer。

3、过滤器(Token Filters)

在分词之后对词汇单元进行进一步处理。

用于转换、删除或修改词汇单元。

示例:Lowercase Filter、Stop Filter、Synonym Filter。

常见分析器类型

1、Standard Analyzer

默认分析器,使用 Standard Tokenizer 和一组默认的过滤器(如小写过滤器)。

适用于大多数语言的通用文本处理。

2、Simple Analyzer

使用 Lowercase Tokenizer,将文本分割为小写的单词。

适用于简单的文本处理需求。

3、Whitespace Analyzer

仅使用 Whitespace Tokenizer,通过空格分割词汇单元。

不进行任何字符转换。

4、Stop Analyzer

类似于 Simple Analyzer,但会去除常见的停用词。

5、Keyword Analyzer

将整个输入作为单个词汇单元返回。

适用于精确匹配的场景。

6、Custom Analyzer

用户可以根据需要自定义分析器,组合不同的字符过滤器、分词器和词汇过滤器。

自定义分析器示例

以下是如何创建一个自定义分析器的示例,该分析器使用 Whitespace Tokenizer,并将所有词汇单元转换为小写,同时去除停用词:

PUT /my_index
{"settings": {"analysis": {"analyzer": {"my_custom_analyzer": {"type": "custom","tokenizer": "whitespace","filter": ["lowercase","stop"]}}}}
}

使用分析器进行文本分析

创建索引并定义分析器后,可以使用 _analyze API 来查看分析器的效果:

POST /my_index/_analyze
{"analyzer": "my_custom_analyzer","text": "The quick brown fox jumps over the lazy dog"
}

输出

{"tokens": [{"token": "quick", "start_offset": 4, "end_offset": 9, "type": "word", "position": 1},{"token": "brown", "start_offset": 10, "end_offset": 15, "type": "word", "position": 2},{"token": "fox", "start_offset": 16, "end_offset": 19, "type": "word", "position": 3},{"token": "jumps", "start_offset": 20, "end_offset": 25, "type": "word", "position": 4},{"token": "lazy", "start_offset": 35, "end_offset": 39, "type": "word", "position": 7},{"token": "dog", "start_offset": 40, "end_offset": 43, "type": "word", "position": 8}]
}

通过选择和配置合适的分析器,你可以优化文本数据的索引和搜索性能,以满足特定应用需求。分析器的灵活性允许你处理各种语言和文本格式,确保搜索结果的准确性和相关性。

相关文章:

Elasticsearch 6.8 分析器

在 Elasticsearch 中,分析器(Analyzer)是文本分析过程中的一个关键组件,它负责将原始文本转换为一组词汇单元(tokens)。 分析器由三个主要部分组成:分词器(Tokenizer)、…...

实验室资源调度系统:基于Spring Boot的创新

2相关技术 2.1 MYSQL数据库 MySQL是一个真正的多用户、多线程SQL数据库服务器。 是基于SQL的客户/服务器模式的关系数据库管理系统,它的有点有有功能强大、使用简单、管理方便、安全可靠性高、运行速度快、多线程、跨平台性、完全网络化、稳定性等,非常…...

实验三:构建园区网(静态路由)

目录 一、实验简介 二、实验目的 三、实验需求 四、实验拓扑 五、实验任务及要求 1、任务 1:完成网络部署 2、任务 2:设计全网 IP 地址 3、任务 3:实现全网各主机之间的互访 六、实验步骤 1、在 eNSP 中部署网络 2、配置各主机 IP …...

3. SQL优化

SQL性能优化 在日常开发中,MySQL性能优化是一项必不可少的技能。本文以具体案例为主线,结合实际问题,探讨如何优化插入、排序、分组、分页、计数和更新等操作,帮助你实现数据库性能的飞跃。 一、索引设计原则 索引是MySQL优化的…...

web——upload-labs——第十一关——黑名单验证,双写绕过

还是查看源码, $file_name str_ireplace($deny_ext,"", $file_name); 该语句的作用是:从 $file_name 中去除所有出现在 $deny_ext 数组中的元素,替换为空字符串(即删除这些元素)。str_ireplace() 在处理时…...

AWS CLI

一、AWS CLI介绍 1、简介 AWS CLI(Amazon Web Services Command Line Interface)是一个命令行工具,它允许用户通过命令行与 Amazon Web Services(AWS)的各种云服务进行交互和管理。使用 AWS CLI,用户可以直接在终端或命令行界面中执行命令来配置、管理和自动化AWS资源,…...

springboot:责任链模式实现多级校验

责任链模式是将链中的每一个节点看作是一个对象,每个节点处理的请求不同,且内部自动维护一个下一节点对象。 当一个请求从链式的首段发出时,会沿着链的路径依此传递给每一个节点对象,直至有对象处理这个请求为止。 属于行为型模式…...

CentO7安装单节点Redis服务

本文目录 一、Redis安装与配置1.1 安装redis依赖1.2 上传压缩包并解压1.3 编译安装1.4 修改配置并启动1、复制配置文件2、修改配置文件3、启动Redis服务4、停止redis服务 1.5 redis连接使用1、 命令行客户端2、 图形界面客户端 一、Redis安装与配置 1.1 安装redis依赖 Redis是…...

FreeRTOS学习14——时间管理

时间管理 时间管理FreeRTOS 系统时钟节拍FreeRTOS 系统时钟节拍简介FreeRTOS 系统时钟节拍处理FreeRTOS 系统时钟节拍来源 FreeRTOS 任务延时函数vTaskDelay()vTaskDelayUntil() 时间管理 在前面的章节实验例程中,频繁地使用了 FreeRTOS 提供的延时函数&#xff0c…...

统⼀数据返回格式快速⼊⻔

为什么会有统⼀数据返回? 其实统一数据返回是运用了AOP(对某一类事情的集中处理)的思维。 优点: 1.⽅便前端程序员更好的接收和解析后端数据接⼝返回的数据。 2.降低前端程序员和后端程序员的沟通成本,因为所有接⼝都…...

Python学习------第十天

数据容器-----元组 定义格式,特点,相关操作 元组一旦定义,就无法修改 元组内只有一个数据,后面必须加逗号 """ #元组 (1,"hello",True) #定义元组 t1 (1,"hello") t2 () t3 tuple() prin…...

Win11 24H2新BUG或影响30%CPU性能,修复方法在这里

原文转载修改自(更多互联网新闻/搞机小知识): 一招提升Win11 24H2 CPU 30%性能,小BUG大影响 就在刚刚,小江在网上冲浪的时候突然发现了这么一则帖子,标题如下:基准测试(特别是 Time…...

element ui 走马灯一页展示多个数据实现

element ui 走马灯一页展示多个数据实现 element ui 走马灯一页展示多个数据实现 element ui 走马灯一页展示多个数据实现 主要是对走马灯的数据的操作,先看js处理 let list [{ i: 1, name: 1 },{ i: 2, name: 2 },{ i: 3, name: 3 },{ i: 4, name: 4 },]let newL…...

40分钟学 Go 语言高并发:Goroutine基础与原理

Day 03 - goroutine基础与原理 1. goroutine创建和调度 1.1 goroutine基本特性 特性说明轻量级初始栈大小仅2KB,可动态增长调度方式协作式调度,由Go运行时管理创建成本创建成本很低,可同时运行数十万个通信方式通过channel进行通信&#x…...

Figma插件指南:12款提升设计生产力的插件

在当今的设计领域,Figma已经成为许多UI设计师和团队的首选原型和数字设计软件。随着Figma的不断更新和插件库的扩展,这些工具极大地提升了设计工作的效率。本文将介绍12款实用的Figma插件,帮助你在UI设计中更加高效。 即时AI 即时AI利用先进…...

【K8S系列】Kubernetes集群资源管理与调度 深度分析

在现代微服务架构中,Kubernetes(K8s)作为容器编排平台,提供了强大的资源管理和调度能力。然而,随着应用规模的扩大和复杂性增加,如何高效地管理和调度集群资源成为一个关键挑战。本文将深入探讨 Kubernetes…...

delphi fmx android 离线人脸识别

搜遍全网都没有找到delphi android 能用的 离线人脸识别,无需注册什么开发者 有这方面需求的可以用fsdk 这边用的luxand.FSDK8.0 android下的注册号要自己找下 1,用老猫的工具将android 下的sdk,FSDK.java 编译成FSDK.jar 老猫的工具 2,用上面的工具将FSDK.jar 生成de…...

Linux mountpoint 命令详解

前言 在 Linux 系统中,文件系统管理是一个非常重要的任务。mountpoint 是一个常用的小工具,用于检查目录是否是挂载点。本篇博客将详细介绍 mountpoint 命令的用法及其在日常系统管理中的应用。 什么是挂载点? 挂载点是一个目录&#xff0…...

Linux驱动开发(9):pinctrl子系统和gpio子系统--led实验

在前面章节,我们有过使用寄存器去编写字符设备的经历了。这种直接在驱动代码中, 通过寄存器映射来对外设进行使用的编程方式,从驱动开发者的角度可以说是灾难。 因为每当芯片的寄存器发生了改动,那么底层的驱动几乎得重写。 那么…...

用sqlmap工具打sqli-labs前20关靶场

这个星期我们用手动注入打了前20关靶场,今天我们用sqlmap直接梭哈前20关 1.介绍sqlmap sqlmap是一个自动化的SQL注入工具,其主要功能是扫描,发现并利用给定的URL和SQL注入漏洞。 2.下载和使用sqlmap 官方下载地址:GitHub - sq…...

编写程序统计行业招聘薪资行情数据,智能比对企业薪资标准,优化薪资体系,减少企业人才流失问题。

一、实际应用场景描述在中型及以上企业的人力资源管理中,经常出现:- 企业需制定或调整岗位薪资标准(Salary Band)- 市场上同岗位薪资随城市、行业、经验年限波动明显- 企业内部薪资数据分散在 HR 系统 / Excel 中,缺乏…...

从嵌入式系统会议看技术生态构建:硬件开发与软件工程的融合实践

1. 从一场成功的会议到下一年的蓝图:嵌入式系统会议的幕后与启示刚结束的芝加哥嵌入式系统大会(ESC Chicago)被主办方评价为“一次巨大的成功”。作为一名在硬件开发与软件领域摸爬滚打了十几年的工程师,我深知这类行业顶级会议的…...

本地代码解释器:基于LLM与Docker沙箱的AI编程助手实现

1. 项目概述:一个本地化的代码解释器最近在GitHub上看到一个挺有意思的项目,叫Allen091080/local-code-interpreter。光看名字,很多开发者可能就会心一笑,这不就是想在本地复现类似ChatGPT Code Interpreter那种“对话式代码执行”…...

OpenClaw近一月版本更替讲解

如果你最近没追 OpenClaw 的更新,最容易产生一种错觉:它是不是又只是多接了几个模型、多加了几个花哨功能? 我看完最近一个月的变化后,感觉不是这样。 OpenClaw 这一个月真正值得关注的地方,不是“它更炫了”&#xff…...

Standard计划突然限速?揭秘MJ v6.1后台配额算法变更,3步绕过队列延迟,今日生效

更多请点击: https://intelliparadigm.com 第一章:Standard计划限速事件的全貌还原 2024年Q2,Standard计划在多个云原生生产环境中突发性触发API速率限制(Rate Limiting),导致下游服务批量超时与重试风暴。…...

为什么93%的开发者在WebRTC集成中卡在ElevenLabs音频缓冲层?——低延迟TTS流式传输终极调优方案

更多请点击: https://intelliparadigm.com 第一章:ElevenLabs API开发接入指南 ElevenLabs 提供高质量、低延迟的语音合成(TTS)服务,其 RESTful API 支持多种语言、情感调节与声音克隆能力。接入前需在 ElevenLabs 控…...

Gemini3.1Pro发布:多模态AI再进化

如果你最近也在跟踪 2026 年的 AI 动态,应该会发现一个很明显的变化:大模型的竞争重点,已经从“会不会生成内容”,转向“能不能真正理解复杂任务并参与工作流”。像KULAAI(dl.877ai.cn) 这类 AI 聚合平台&a…...

InputTip:提升表单体验的动态输入引导组件设计与实战

1. 项目概述:一个被低估的输入增强工具 在桌面应用开发中,我们常常会花费大量精力去构建复杂的业务逻辑和炫酷的界面,却容易忽略一个直接影响用户体验的细节: 输入引导 。回想一下,你是否遇到过这样的场景&#xff1…...

ngx_http_create_request

1 定义 ngx_http_create_request 函数 定义在 ./nginx-1.24.0/src/http/ngx_http_request.cngx_http_request_t * ngx_http_create_request(ngx_connection_t *c) {ngx_http_request_t *r;ngx_http_log_ctx_t *ctx;ngx_http_core_loc_conf_t *clcf;r ngx_http_…...

iPhone 5s系统工程解析:LPDDR3内存与E2NAND存储的协同进化

1. 项目概述:iPhone 5s,一场被低估的系统性工程胜利2013年9月,当苹果发布iPhone 5s时,聚光灯几乎全部打在了那个划时代的64位A7处理器上。媒体和消费者的讨论都围绕着“桌面级性能”和“移动计算新时代”展开。作为一名在消费电子…...