带你读《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并实现搜索。  
相关文章
|
XML Java 数据格式
使用Java + Freemarker 导出word文档
使用Java + Freemarker 导出word文档
|
安全 算法 Linux
在Linux中,什么是SSH?它是如何工作的?
在Linux中,什么是SSH?它是如何工作的?
|
SQL 安全 API
PHP代码审计示例(一)——淡然点图标系统SQL注入漏洞审计
PHP代码审计示例(一)——淡然点图标系统SQL注入漏洞审计
441 4
|
JSON Java Android开发
android studio中出现Cannot resolve symbol 'json'问题完整简单解决方案
android studio中出现Cannot resolve symbol 'json'问题完整简单解决方案
1238 150
android studio中出现Cannot resolve symbol 'json'问题完整简单解决方案
|
设计模式 Java 编译器
我们可以在 switch case 中使用 String 吗?
【8月更文挑战第21天】
960 0
document.write和innerHTML、innerText的区别?
document.write和innerHTML、innerText的区别?
|
Web App开发 程序员 开发工具
国内Github下载很慢,用上了这个插件后,下载速度嗖嗖嗖的~!
国内Github下载很慢,用上了这个插件后,下载速度嗖嗖嗖的~!
国内Github下载很慢,用上了这个插件后,下载速度嗖嗖嗖的~!
远程三面蚂蚁金服,分享面试经历总结(已拿offer)
当前环境,很多公司都采取了远程办公,远程面试。有一说一,第一次远程面试,还是比较紧张的。

热门文章

最新文章

下一篇
开通oss服务