首页 > 其他分享 >ElasticSearch分词器

ElasticSearch分词器

时间:2024-08-13 21:07:28浏览次数:14  
标签:-- ik token ElasticSearch 分词器 分词 字典

什么是分词器❓

  • 顾名思义,文本分析就是 把全文本转换成一系列单词(term/token)的过程 ,也叫 分词 。在 ES 中,Analysis 是通过分词器(Analyzer) 来实现的,可使用 ES 内置的分析器或者按需定制化分析器。

分词器组成部分

  • 分词器是专门处理分词的组件,分词器由以下三部分组成:
    1. character filter
    2. tokenizer
    3. token filters

charater filter

  • 对原字符进行过滤和处理,去除原字符中无效或异常的字符,例如:多余空格等

tokenizer

  • 将处理后的字符拆分为一个一个的词,在一个分词器中有且只有一个

token filters

  • 对分词结果进行过滤和处理,例如:将多个词合成一个。例如:一个苹果,分成了 [一个,苹果],则可以通过此过程合成一个词,一个苹果。
  • 一个分词器中可能有多个

分词过程

graph TD classDef default fill:#00AAA6,stroke-width:0px,color:#fff root("输入文本")-->item0("charater filter") item0-->item1("tokenizer") item1-->item2("token filters") item2-->item3("输出结果")

常用的分词器

ES 默认采用采用 standard 方式分词

内置分词器

中文分词器

  • 中文分词器包括 2 种,即 ik_smartik_max_word
  • ik 分词器中的简单分词器,支持自定义字典,远程字典
  • ik_分词器的全量分词器,支持自定义字典,远程字典

标签:--,ik,token,ElasticSearch,分词器,分词,字典
From: https://www.cnblogs.com/knxhd/p/18357675

相关文章

  • ElasticSearch接口
    DSL语法DSL为ES过滤数据时的语法,可用于查询、删除等操作基本构成默认分页查询,size默认为10。ES查询默认最大文档数量限制为10000,可通过index.max_result_window配置来控制,建议考虑通过滚动查询或其他策略实现超过10000限制的查询{"query":{"match":{......
  • Elasticsearch 学习总结 - 相关配置补充说明
    Elasticsearch的基本概念term索引词,在elasticsearch中索引词(term)是一个能够被索引的精确值。foo,FooFoo几个单词是不相同的索引词。索引词(term)是可以通过term查询进行准确的搜索。text文本是一段普通的非结构化文字,通常,文本会被分析称一个个的索引词,存储在elasticsearch的索......
  • ElasticSearch中的DSL查询与DSL过滤
    DSL查询定义对于简单查询,使用查询字符串比较好,但是对于复杂查询,由于条件多,逻辑嵌套复杂,查询字符串不易组织与表达,且容易出错,因此推荐复杂查询通过DSL使用JSON内容格式的请求体代替。DSL查询是由ES提供丰富且灵活的查询语言叫做DSL查询(QueryDSL),它允许你构建更加复杂、强......
  • SpringBoot整合ElasticSearch
    文章目录SpringBoot整合ES实现ElasticsearchRepository使用ElasticsearchRestTemplate索引操作文档操作SpringBoot整合ES官方文档:https://docs.spring.io/spring-data/elasticsearch/docs/current/reference/html/#new-features.4-4-0版本选择Elasticsearch7.......
  • Windows ,elasticsearch 启动报错 failed to obtain node locks
    报错:2024.08.1118:14:45ERRORes[][o.e.b.ElasticsearchUncaughtExceptionHandler]uncaughtexceptioninthread[main]org.elasticsearch.bootstrap.StartupException:java.lang.IllegalStateException:failedtoobtainnodelocks,tried[[D:\soft\Java\sonarq......
  • SonarQube启动时,elasticsearch 报错 with lock id [0]; maybe these locations are n
     报错: 查看elasticsearch日志,在安装位置\sonarqube-9.9.6.92038\logs\es.log2024.08.1118:14:45ERRORes[][o.e.b.ElasticsearchUncaughtExceptionHandler]uncaughtexceptioninthread[main]org.elasticsearch.bootstrap.StartupException:java.lang.IllegalStateE......
  • Elasticsearch Mapping类型修改
    背景通常数据库进行分库分表后,目前比较常规的作法,是通过将数据异构到Elasticsearch来提供分页列表查询服务;在创建Elasticsearch索引时,基本都是会参考目前的业务需求、关系数据库中的类型以及对数据的相关规划来定义相关字段mapping的类型.在Elasticsearch的mapping中的列(或则......
  • 数据库安全-ElasticSearch漏洞复现
    CVE-2014-3120命令执行漏洞一、漏洞详情老版本ElasticSearch支持传入动态脚本(MVEL)来执行一些复杂的操作,而MVEL可执行Java代码,而且没有沙盒,所以我们可以直接执行任意代码。MVEL执行命令代码:importjava.io.*;newjava.util.Scanner(Runtime.getRuntime().exec("whoami").getIn......
  • 深入浅出Java RestClient与Elasticsearch:一次简单的聚合查询实现
    文章目录一、什么是聚合查询?二、开始编写代码三、代码解析四、总结在当今的大数据时代,Elasticsearch作为一个分布式搜索和分析引擎,被广泛应用于各类数据密集型应用中。而使用Java与Elasticsearch交互进行数据操作时,JavaHighLevelRestClient提供了一种方便且......
  • php: 操作elasticsearch的别名
    一,添加别名1,代码://初始化es的client$client=$this->_init_es();//确定参数$params=['index'=>'gs_second',//索引名字'name'=>'gs_second_idx',//索引的别名......