带你读《Elastic Stack 实战手册》之35:——3.4.2.17.4.Analyzers / Custom analyzers(3)

简介: 带你读《Elastic Stack 实战手册》之35:——3.4.2.17.4.Analyzers / Custom analyzers(3)


《Elastic Stack 实战手册》——三、产品能力——3.4.入门篇——3.4.2.Elasticsearch基础应用——3.4.2.17.Text analysis, settings 及 mappings——3.4.2.17.4.Analyzers / Custom analyzers(2) https://developer.aliyun.com/article/1229775


#1 指定 html_strip 对三个文本进行处理请求返回如下:


    "tokens": [
        {
            "token": "google.com",                    #2
            "start_offset": 32,
            "end_offset": 46,
            "type": "word",
            "position": 0
        },
        {
            "token": "\nblock-level element\n",        #3
            "start_offset": 47,
            "end_offset": 77,
            "type": "word",
            "position": 101
        },
        {
            "token": "<p>",                            #4
            "start_offset": 78,
            "end_offset": 87,
            "type": "word",
            "position": 202
        }
    ]
}

#2 带有 标签的字符串 HTML 已经被剔除掉只保留标签内的文本。

#3

标签属于块级标签,被 \n 替换。

#4 转义字符 > 和 < 替换为 HTML 转义前的大于号和小于号。

配置项

 

escaped_tags 不带尖括号的 HTML 标签数组,数组内的标签将不会剔除。例如设置 ["p"] 则保留

在文本中,不会进行剔除。

 

POST _analyze
{
  "char_filter": [
    {
      "type": "html_strip",
      "escaped_tags": ["p"]
    }
  ],
  "text": [
    "<p>block-level element</p>"
  ]
}
#Response
{
  "tokens" : [
    {
      "token" : "<p>block-level element</p>", 
      "start_offset" : 0,
      "end_offset" : 26,
      "type" : "word",
      "position" : 0
    }
  ]
}

 

关于行级标签和块级标签的区分可以参考:

https://developer.mozilla.org/en-US/docs/Web/HTML/Block-level_elements

https://developer.mozilla.org/en-US/docs/Web/HTML/Inline_elements

 

Mapping character filter

 

mapping 字符映射过滤器用于设置一个键值对的映射。在文本中遇到键相同的字符时,字符将会替换为键相关联的值。设置键值对有两点需要注意的:

 

1、键值对中键必须唯一,值可以为空字符串。

2、字符的匹配根据贪婪模式,匹配过程将命中最长的一个。例如映射中提供了 map 和 maple 两个单词,当文本中遇到 maples 时,maple 将会被替换而不是 map,值可以替换为空字符串。

 

POST _analyze
{
  "char_filter": [
    {
      "type": "mapping",        
      "mappings": [        
        "- => "                    #1
      ]
    }
  ],
  "text": [
    "Spider-Man"
  ]
}

#1 将文本中的连接符 - 替换为空。


{
  "tokens" : [
    {
      "token" : "SpiderMan",    #2
      "start_offset" : 0,
      "end_offset" : 10,
      "type" : "word",
      "position" : 0
    }
  ]
}

#2 带有 标签的字符串 HTML 已经被剔除掉只保留标签内的文本。

#3

标签属于块级标签,被 \n 替换。

#4 转义字符 > 和 < 替换为 HTML 转义前的大于号和小于号。

 

 配置项

 

escaped_tags 不带尖括号的 HTML 标签数组,数组内的标签将不会剔除。例如设置 ["p"] 则保留

在文本中,不会进行剔除。


POST _analyze
{
  "char_filter": [
    {
      "type": "html_strip",
      "escaped_tags": ["p"]
    }
  ],
  "text": [
    "<p>block-level element</p>"
  ]
}
#Response
{
  "tokens" : [
    {
      "token" : "<p>block-level element</p>", 
      "start_offset" : 0,
      "end_offset" : 26,
      "type" : "word",
      "position" : 0
    }
  ]
}

 

关于行级标签和块级标签的区分可以参考:

https://developer.mozilla.org/en-US/docs/Web/HTML/Block-level_elements

https://developer.mozilla.org/en-US/docs/Web/HTML/Inline_elements

 

Mapping character filter

 

mapping 字符映射过滤器用于设置一个键值对的映射。在文本中遇到键相同的字符时,字符将会替换为键相关联的值。设置键值对有两点需要注意的:

 

1、键值对中键必须唯一,值可以为空字符串。

2、字符的匹配根据贪婪模式,匹配过程将命中最长的一个。例如映射中提供了 map 和 maple 两个单词,当文本中遇到 maples 时,maple 将会被替换而不是 map,值可以替换为空字符串。


POST _analyze
{
  "char_filter": [
    {
      "type": "mapping",        
      "mappings": [        
        "- => "                    #1
      ]
    }
  ],
  "text": [
    "Spider-Man"
  ]
}

 #1 将文本中的连接符 - 替换为空。


{
  "tokens" : [
    {
      "token" : "SpiderMan",    #2
      "start_offset" : 0,
      "end_offset" : 10,
      "type" : "word",
      "position" : 0
    }
  ]
}



《Elastic Stack 实战手册》——三、产品能力——3.4.入门篇——3.4.2.Elasticsearch基础应用——3.4.2.17.Text analysis, settings 及 mappings——3.4.2.17.4.Analyzers / Custom analyzers(4) https://developer.aliyun.com/article/1229772

相关实践学习
以电商场景为例搭建AI语义搜索应用
本实验旨在通过阿里云Elasticsearch结合阿里云搜索开发工作台AI模型服务,构建一个高效、精准的语义搜索系统,模拟电商场景,深入理解AI搜索技术原理并掌握其实现过程。
ElasticSearch 最新快速入门教程
本课程由千锋教育提供。全文搜索的需求非常大。而开源的解决办法Elasricsearch(Elastic)就是一个非常好的工具。目前是全文搜索引擎的首选。本系列教程由浅入深讲解了在CentOS7系统下如何搭建ElasticSearch,如何使用Kibana实现各种方式的搜索并详细分析了搜索的原理,最后讲解了在Java应用中如何集成ElasticSearch并实现搜索。 &nbsp;
相关文章
|
自然语言处理 搜索推荐 安全
满血上阵,DeepSeek x 低代码创造专属知识空间
本文介绍了如何结合阿里云百炼和魔笔平台,快速构建一个智能化的专属知识空间。通过利用DeepSeek R1等先进推理模型,实现高效的知识管理和智能问答系统。 5. **未来扩展**:探讨多租户隔离、终端用户接入等高级功能,以适应更大规模的应用场景。 通过这些步骤,用户可以轻松创建一个功能全面、性能卓越的知识管理系统,极大提升工作效率和创新能力。
1278 182
满血上阵,DeepSeek x 低代码创造专属知识空间
|
8月前
|
Python
Python 值类型和引用类型:你真的懂了吗?
在 Python 中,变量赋值时为何有时影响其他变量?这与值类型和引用类型密切相关。值类型(如 int、str)复制时传递的是实际值,而引用类型(如 list、dict)传递的是内存地址。理解这一区别,有助于避免常见陷阱,如误改共享数据、默认参数陷阱等。本文通过内存图解和实例对比,深入解析赋值行为、函数参数传递机制,并提供避坑技巧,助你彻底掌握这一核心概念。
342 0
|
机器学习/深度学习 人工智能 监控
理解LLMOps: Large Language Model Operations
理解LLMOps: Large Language Model Operations
571 1
|
运维 前端开发 算法
阿里及各大企业中台架构详解(上)
阿里及各大企业中台架构详解
1793 0
阿里及各大企业中台架构详解(上)
|
关系型数据库 分布式数据库 数据库
基于PolarDB Ganos的实时时空计算:电子围栏篇
文章着重介绍了PolarDB Ganos如何应用于实现实时电子围栏计算。这是一种依赖于位置技术来创建虚拟地理边界的解决方案,广泛应用于交通安全、应急管理、营销推广等多个领域。通过与阿里云实时计算Flink版产品的集成,PolarDB Ganos能够高效地进行空间计算和数据分析,显著提高了地理围栏应用的实时性和准确性。文章还提供了使用Ganos进行电子围栏计算的实际步骤、性能测试及优化建议,并强调了PolarDB Ganos在提高数据处理效率和降低成本方面的优势。
|
存储 人工智能 芯片
《光存储与3D存储:开启人工智能硬件存储新时代》
在人工智能快速发展的背景下,数据存储技术的重要性日益凸显。光存储(如全息、多维、超分辨光存储)和3D存储(如3D NAND闪存、3D NVM)等新型技术,以其高密度、高速度的优势,为AI硬件带来全新机遇。这些技术不仅能大幅提升数据处理效率,支持实时决策,还面临成本、稳定性和兼容性等挑战。未来,科研人员和企业需共同努力,推动这些技术与AI硬件的深度融合,助力AI创新与发展。
366 13
|
定位技术
探秘站点检测访问中代理 IP 的实用技巧
随着互联网发展,使用代理IP的需求增加。站点检测代理IP的方法包括:1. IP地址黑名单;2. HTTP头部检查(如X-Forwarded-For);3. 行为分析;4. 地理位置检测;5. CAPTCHA验证;6. 连接特征分析。这些技术帮助网站判断访问是否来自代理。
559 6
|
SQL 存储 分布式计算
Hadoop-16-Hive HiveServer2 HS2 允许客户端远程执行HiveHQL HCatalog 集群规划 实机配置运行
Hadoop-16-Hive HiveServer2 HS2 允许客户端远程执行HiveHQL HCatalog 集群规划 实机配置运行
323 3
|
机器学习/深度学习 缓存 自然语言处理
采用ChatGPT大模型高效精准文档翻译
这款文档翻译工具支持PDF、Word、PPT、Excel和TXT等多种格式,利用ChatGPT大模型进行高效精准的翻译,覆盖30多种语言。它通过文档解析、预处理、翻译和结果合成步骤工作,并采用缓存、并行处理和负载均衡技术优化性能。该工具满足全球化背景下企业和个人的多语言需求,助力信息交流。
1119 1
采用ChatGPT大模型高效精准文档翻译
|
人工智能 搜索推荐 数据安全/隐私保护
别错过!2024年苹果iPhone AI革命:揭秘技术突破与未来蓝图
本文首发于公众号“AntDream”。2024年,苹果iPhone在技术创新方面展现了一系列亮点,包括Apple Intelligence集成、Siri的进化、系统范围的写作工具、图像生成能力、跨应用任务处理、隐私保护加强等。iOS 18带来了多项改进,如屏幕图标重新设计、新增卫星短信等功能。后续规划包括Apple Intelligence的推广、与其他AI模型合作、硬件发展、软件生态扩展、全球多语言支持等。苹果将继续优化用户体验和强化隐私保护,探索AI技术在健康监测、增强现实等领域的应用,持续引领智能手机领域的创新潮流。
960 1

热门文章

最新文章

下一篇
开通oss服务