首页 > 其他分享 >Elasticsearch中如何自定义分词器?

Elasticsearch中如何自定义分词器?

时间:2025-01-04 23:33:42浏览次数:3  
标签:自定义 -- analyzer custom Elasticsearch 分词器 my

关注我,持续分享逻辑思维&管理思维&面试题; 可提供大厂面试辅导、及定制化求职/在职/管理/架构辅导;

推荐专栏《10天学会使用asp.net编程AI大模型》,目前已完成所有内容。一顿烧烤不到的费用,让人能紧跟时代的浪潮。从普通网站,到公众号、小程序,再到AI大模型网站。干货满满。学成后可接项目赚外快,绝对划算。不仅学会如何编程,还将学会如何将AI技术应用到实际问题中,为您的职业生涯增添一笔宝贵的财富。

-------------------------------------正文----------------------------------------

在Elasticsearch中自定义分词器涉及以下几个步骤:

  1. 确定需求

    • 确定你的应用场景需要什么样的分词逻辑。例如,你可能需要一个能够处理特定语言或格式的分词器。
  2. 创建自定义分词器

    • 在Elasticsearch的索引设置中定义一个新的分词器。这通常在索引的映射(mapping)部分完成。
  3. 配置字符过滤器(可选)

    • 如果需要在分词之前对文本进行预处理(如去除HTML标签或替换特定字符),则配置字符过滤器。
  4. 配置分词器

    • 指定分词器的类型和参数。例如,使用正则表达式分词器时,你需要提供一个正则表达式。
  5. 配置令牌过滤器(可选)

    • 如果需要在分词后对词条进行进一步处理(如小写转换、停用词过滤等),则配置令牌过滤器。
  6. 测试分词器

    • 使用_analyze API测试你的自定义分词器,确保它按照预期工作。
  7. 应用到字段

    • 将自定义分词器应用到索引的特定字段。

以下是一个创建自定义分词器的示例:

PUT my_index
{
  "settings": {
    "analysis": {
      "char_filter": {
        "my_html_strip": {
          "type": "html_strip"
        }
      },
      "tokenizer": {
        "my_pattern_tokenizer": {
          "type": "pattern",
          "pattern": "\\W+"
        }
      },
      "filter": {
        "my_custom_filter": {
          "type": "lowercase"
        }
      },
      "analyzer": {
        "my_custom_analyzer": {
          "type": "custom",
          "char_filter": [
            "my_html_strip"
          ],
          "tokenizer": "my_pattern_tokenizer",
          "filter": [
            "my_custom_filter"
          ]
        }
      }
    }
  }
}

在这个例子中,我们定义了一个名为my_custom_analyzer的自定义分析器,它使用了一个自定义的字符过滤器my_html_strip来去除HTML标签,一个自定义的分词器my_pattern_tokenizer来根据非单词字符分割文本,以及一个内置的令牌过滤器lowercase来将所有词条转换为小写。

完成自定义分词器的定义后,你可以将其应用到索引的字段中,如下所示:

PUT my_index/_mapping
{
  "properties": {
    "content": {
      "type": "text",
      "analyzer": "my_custom_analyzer"
    }
  }
}

这样,字段content就会使用my_custom_analyzer进行索引和搜索。记得在实际应用中根据你的具体需求调整分词器和过滤器的配置。

感兴趣的同学辛苦 关注/点赞 ,持续分享逻辑、算法、管理、技术、人工智能相关的文章。

有意找工作的同学,请参考博主的原创:《面试官心得--面试前应该如何准备》,《面试官心得--面试时如何进行自我介绍》, 《做好面试准备,迎接2024金三银四》。
或关注博主免费专栏【程序员宝典--常用代码分享】里面有大量面试涉及的算法或数据结构编程题。

博主其它经典原创:《管理心得--如何高效进行跨部门合作》,《技术心得--如何成为优秀的架构师》、《管理心得--如何成为优秀的架构师》、《管理心理--程序员如何选择职业赛道》,及
C#实例:SQL如何添加数据》,《C#实战分享--爬虫的基础原理及实现》欢迎大家阅读。

标签:自定义,--,analyzer,custom,Elasticsearch,分词器,my
From: https://blog.csdn.net/weixin_60437218/article/details/144654897

相关文章

  • 功能齐全的 WPF 自定义控件
    功能齐全的WPF自定义控件资源库(收藏版)阅读目录前言控件介绍控件实现功能支持框架控件使用控件效果控件案例项目地址官方文档在线源码总结最后 前言 推荐一款界面美观、功能齐全的WPF自定义控件资源库。这款资源库通过封装一系列常用的控件,简化开发流程......
  • Zabbix5.0版本(自定义监控+报警+图版模型)
    目录1.自定义监控(1)监控系统登入数量(2)监控TCP22端口是否存活,并做值映射(3)自定义监控服务器内存百分比(4)配置多条件触发2.自定义报警(1)配置邮件发件人,我用的qq邮箱,在设置账户里,开启服务,邮箱同理(2)配置报警媒介类型(3)开启动作(4)配置收件人(5)dd压测是否发送邮箱(6)自定义告警内......
  • 周选择器 vxe-date-picker 自定义一周开始日
    周选择器vxe-date-picker自定义一周开始日官网:https://vxeui.com周一开始<template><div><vxe-date-pickerv-model="val1"placeholder="周选择,周一开始"type="week":start-day="1"></vxe-date-picker></div......
  • Spark Streaming + Elasticsearch构建App异常监控平台13
    如果在使用App时遇到闪退,你可能会选择卸载App、到应用商店怒斥开发者等方式来表达不满。但开发者也同样感到头疼,因为崩溃可能意味着用户流失、营收下滑。为了降低崩溃率,进而提升App质量,App开发团队需要实时地监控App异常。一旦发现严重问题,及时进行热修复,从而把损失降到最低。A......
  • Elasticsearch(ES)集群中索引状态red如何处理
    目录标题**1.检查集群状态****2.查看索引的详细信息****3.排查未分配分片**查看未分配分片的详细信息:**4.检查日志****5.常见问题与解决方法****(1)分片所在的节点离线****(2)磁盘空间不足****(3)分片分配失败****(4)主分片丢失****(5)分片数量过多****6.检......
  • Kibana 来访问 Elasticsearch(ES)集群?
    业务客户通常不会直接通过Kibana来访问Elasticsearch(ES)集群,主要原因如下:Kibana的用途:Kibana是一个专门用于数据可视化和管理Elasticsearch数据的工具,主要为开发人员、运维人员或数据分析人员提供接口,用于查询、监控和分析数据。适用场景:日志分析、性能监控、索引......
  • Elasticsearch的分词功能
    关注我,持续分享逻辑思维&管理思维&面试题;可提供大厂面试辅导、及定制化求职/在职/管理/架构辅导;推荐专栏《10天学会使用asp.net编程AI大模型》,目前已完成所有内容。一顿烧烤不到的费用,让人能紧跟时代的浪潮。从普通网站,到公众号、小程序,再到AI大模型网站。干货满满。学成后可......
  • 自己常用的一些Camstar Portal 自定义CSS
    按钮样式/**********************************************************************************************Button**********************************************************************************************/.lucas-cs-button-primary{height:32......
  • Spark Streaming + Elasticsearch构建App异常监控平台14
    如果在使用App时遇到闪退,你可能会选择卸载App、到应用商店怒斥开发者等方式来表达不满。但开发者也同样感到头疼,因为崩溃可能意味着用户流失、营收下滑。为了降低崩溃率,进而提升App质量,App开发团队需要实时地监控App异常。一旦发现严重问题,及时进行热修复,从而把损失降到最低。A......
  • Spark Streaming + Elasticsearch构建App异常监控平台7
    如果在使用App时遇到闪退,你可能会选择卸载App、到应用商店怒斥开发者等方式来表达不满。但开发者也同样感到头疼,因为崩溃可能意味着用户流失、营收下滑。为了降低崩溃率,进而提升App质量,App开发团队需要实时地监控App异常。一旦发现严重问题,及时进行热修复,从而把损失降到最低。A......