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

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


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


配置项

 

stopwords 配置停用词,可以根据内置语言设置如 english 或者定义停用词数组,默认不启用 _english_。

 

stopwords_path 配置停用词的文件路径,需要放在 Elasticsearch 目录中的 config 目录中。

 

ignore_case 单词是否忽略大小写,默认 false。

 

Synonym token filter

 

synonym 过滤器用于指定文本同义词映射关系,比英文,缩写,俗称,旧称等。目的是为了提高检索时具有相同含义的文档可以都匹配到。比如想网购一台 switch 游戏机,我们在商城中搜索的时候与之关联的可以是[ 任天堂,ns主机,游戏掌机,红蓝机 ]等。当我输入红蓝机,商城中也仍然可以匹配到 switch 游戏机的信息。


GET _analyze
{
  "tokenizer": "standard",
  "filter": [
    {
      "type": "synonym",
      "synonyms": [
        "ns主机,游戏掌机,红蓝机,任天堂,switch => switch"
      ]
    }
  ],
  "text": [
    "红蓝机"
  ]
}
#Response
[ switch ]

配置项

 

synonyms 提供同义词映射列表,每一个同义词映射格式依照 “同义词1[,同义词2]... => 目标词” 定义。

 

synonyms_path 指定同义词映射文件目录地址。文件需要放在 Elasticsearch 目录中的

config 目录中,以 UTF-8 格式存储,每行代表一个同义词映射。

 

lenitent 是否忽略映射过程中发生异常,默认为 false。

 

Trim token filter

 

trim 过滤器对单词两端进行去空格。


GET /_analyze
{
  "tokenizer": "standard",
  "filter": [
    "trim"
  ],
  "text": " Hello "
}
#Response
[ Hello ]

Reverse token filter

 

reverse 过滤器将单词进行反向输出,通常用于后缀匹配,如按照扩展名搜索或尾号匹配。


GET /_analyze
{
  "tokenizer": "standard",
  "filter": [
    "reverse"
  ],
  "text": " Hello "
}
#Response
[ olleH ]

Truncate token filter

 

truncate 过滤器对单词超出长度部分进行截断,默认长度为10。


GET /_analyze
{
  "tokenizer": "standard",
  "filter": [
    {
      "type": "truncate",
      "length": 4
    }
  ],
  "text": " Mathematics is hard to know"
}
#Response
[ Math, is, hard, to, know ]


配置项

 

length 设置单词最大长度,超出部分将会被截断,默认长度为10。

 

Unique token filter

 

unique 过滤器删除重复的单词,数组中每个单词保证唯一。


GET /_analyze
{
  "tokenizer": "standard",
  "filter": [
    {
      "type": "unique"
    }
  ],
  "text": " A good cook  could cook cookies?"
  }
#Response
[ A, good, cook, could, cookies ]



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

相关实践学习
以电商场景为例搭建AI语义搜索应用
本实验旨在通过阿里云Elasticsearch结合阿里云搜索开发工作台AI模型服务,构建一个高效、精准的语义搜索系统,模拟电商场景,深入理解AI搜索技术原理并掌握其实现过程。
ElasticSearch 最新快速入门教程
本课程由千锋教育提供。全文搜索的需求非常大。而开源的解决办法Elasricsearch(Elastic)就是一个非常好的工具。目前是全文搜索引擎的首选。本系列教程由浅入深讲解了在CentOS7系统下如何搭建ElasticSearch,如何使用Kibana实现各种方式的搜索并详细分析了搜索的原理,最后讲解了在Java应用中如何集成ElasticSearch并实现搜索。  
相关文章
|
网络安全 API 数据库
如何处理淘宝开放平台订单接口调用时出现的错误?
在处理淘宝开放平台订单接口调用时,常遇到认证、参数、调用限制、网络及接口本身等问题。解决方法包括正确注册与认证账号、确保参数合法、控制调用频率、检查网络连接和防火墙设置、关注接口更新、处理错误码等。若问题持续,可联系技术支持。
|
XML Java 数据格式
使用Java + Freemarker 导出word文档
使用Java + Freemarker 导出word文档
|
7月前
|
人工智能 小程序 Java
golang当中的错误处理--筑基五层
本文主要介绍了Golang中的错误处理机制。Golang不像Java有try/catch异常处理,而是采用defer-panic-and-recover机制。文章首先讲解了Golang如何通过返回错误对象来处理普通错误,并以实例演示定义和使用错误。接着探讨了运行时异常与panic的使用场景,强调panic应仅用于无法恢复的严重错误。随后介绍了如何通过recover从panic中恢复程序执行。最后,文章展示了如何利用闭包优雅地统一处理错误,减少代码冗余,提高可读性。这些内容为开发者提供了全面的Golang错误处理指南。
128 5
|
数据采集 数据可视化 数据挖掘
R语言在金融数据分析中的深度应用:探索数据背后的市场智慧
【9月更文挑战第1天】R语言在金融数据分析中展现出了强大的功能和广泛的应用前景。通过丰富的数据处理函数、强大的统计分析功能和优秀的可视化效果,R语言能够帮助金融机构深入挖掘数据价值,洞察市场动态。未来,随着金融数据的不断积累和技术的不断进步,R语言在金融数据分析中的应用将更加广泛和深入。
|
SQL 安全 API
PHP代码审计示例(一)——淡然点图标系统SQL注入漏洞审计
PHP代码审计示例(一)——淡然点图标系统SQL注入漏洞审计
385 4
5款最受欢迎的邮件营销系统有什么?
以下是5款热门邮件营销系统:Mailchimp以其易用性和多功能性领先;蜂邮EDM提供专业级邮件创建体验;Sendinblue结合了邮件与短信营销,适合中小企业;GetResponse是全面的营销平台,包含自动化功能;AokSend是老牌系统,提供丰富模板和分析工具,支持API接口。选择合适系统能提升营销效果。
document.write和innerHTML、innerText的区别?
document.write和innerHTML、innerText的区别?
|
Web App开发 程序员 开发工具
国内Github下载很慢,用上了这个插件后,下载速度嗖嗖嗖的~!
国内Github下载很慢,用上了这个插件后,下载速度嗖嗖嗖的~!
国内Github下载很慢,用上了这个插件后,下载速度嗖嗖嗖的~!
远程三面蚂蚁金服,分享面试经历总结(已拿offer)
当前环境,很多公司都采取了远程办公,远程面试。有一说一,第一次远程面试,还是比较紧张的。

热门文章

最新文章