知识分享之Golang——Bleve中的Text Analysis简单了解

简介: 知识分享之Golang篇是我在日常使用Golang时学习到的各种各样的知识的记录,将其整理出来以文章的形式分享给大家,来进行共同学习。欢迎大家进行持续关注。知识分享系列目前包含Java、Golang、Linux、Docker等等。

知识分享之Golang——Bleve中的Text Analysis简单了解

背景

知识分享之Golang篇是我在日常使用Golang时学习到的各种各样的知识的记录,将其整理出来以文章的形式分享给大家,来进行共同学习。欢迎大家进行持续关注。

知识分享系列目前包含Java、Golang、Linux、Docker等等。

开发环境

内容

本节我们进行了解一下Bleve中的Text Analysis文本分析器,文本分析器是将我们输入的文本转换为一系列已分析术语的过程,说白了就是分词器,Analysis是在索引时完成的,将输入文档(文本)转换为索引词。Analysis也在查询时进行生效,用以将查询时输入的文本转换为我们将要搜索的索引词形式,这样更利于索引的匹配。

Analysis(分析器、分词器)用于将输入文本转换为用于索引的标记流。在Bleve中Analysis是由多个模块组件构成的。

  • Character Filters 字符过滤器,其主要是从输入中取出不需要的字符,例如取出空格、隐形字符等等。
  • Tokenizers 断词,分割输入串到token令牌流。我们在使用时通常会将一些关键词创建一个标记,要想让这些标记生效,这里我们就需要用到它了。
  • Token Filters 令牌过滤器,一系列令牌过滤器链接在一起,用来对令牌流执行额外的处理。

目前官方支持的语言有
丹麦语、荷兰语、英语、芬兰、法语、匈牙利、意大利语、德语、挪威、波斯语、葡萄牙语、罗马尼亚语、俄语、索拉尼、西班牙语、瑞典、泰国、土耳其

在我们日常使用Analysis时,通常需要使用到中文分析器,目前官方没有提供有效的中文分析器,这时我们就需要基于其他一些组件进行自我构建中文分析器了,常用的例如gojieba、sego等,后续我们再进行深入研究探讨。

本文声明:

5330898-d1c72b6c90e378f3.png
知识共享许可协议
本作品由 cn華少 采用 知识共享署名-非商业性使用 4.0 国际许可协议 进行许可。

目录
相关文章
|
7月前
|
安全 Go
Golang深入浅出之-Go语言模板(text/template):动态生成HTML
【4月更文挑战第24天】Go语言标准库中的`text/template`包用于动态生成HTML和文本,但不熟悉其用法可能导致错误。本文探讨了三个常见问题:1) 忽视模板执行错误,应确保正确处理错误;2) 忽视模板安全,应使用`html/template`包防止XSS攻击;3) 模板结构不合理,应合理组织模板以提高可维护性。理解并运用这些最佳实践,能提升Go语言模板编程的效率和安全性,助力构建稳健的Web应用。
99 0
|
7月前
|
安全 Go 开发者
Golang深入浅出之-Go语言模板(text/template):动态生成HTML
【4月更文挑战第25天】Go语言的`text/template`和`html/template`库提供动态HTML生成。本文介绍了模板基础,如基本语法和数据绑定,以及常见问题和易错点,如忘记转义、未初始化变量、复杂逻辑处理和错误处理。建议使用`html/template`防止XSS攻击,初始化数据结构,分离业务逻辑,并严谨处理错误。示例展示了条件判断和循环结构。通过遵循最佳实践,开发者能更安全、高效地生成HTML。
282 0
|
存储 自然语言处理 Java
知识分享之Golang——Bleve专用术语
知识分享之Golang篇是我在日常使用Golang时学习到的各种各样的知识的记录,将其整理出来以文章的形式分享给大家,来进行共同学习。欢迎大家进行持续关注。 知识分享系列目前包含Java、Golang、Linux、Docker等等。
141 0
知识分享之Golang——Bleve专用术语
|
自然语言处理 Java Linux
知识分享之Golang——Bleve中的Token filters各种标记过滤器
知识分享之Golang篇是我在日常使用Golang时学习到的各种各样的知识的记录,将其整理出来以文章的形式分享给大家,来进行共同学习。欢迎大家进行持续关注。 知识分享系列目前包含Java、Golang、Linux、Docker等等。
130 0
知识分享之Golang——Bleve中的Token filters各种标记过滤器
|
自然语言处理 Java Linux
知识分享之Golang——Bleve中的字符过滤器和分词规则
知识分享之Golang篇是我在日常使用Golang时学习到的各种各样的知识的记录,将其整理出来以文章的形式分享给大家,来进行共同学习。欢迎大家进行持续关注。 知识分享系列目前包含Java、Golang、Linux、Docker等等。
217 0
知识分享之Golang——Bleve中的字符过滤器和分词规则
|
Java Linux Go
知识分享之Golang——Bleve中提供的各类搜索方法(一)
知识分享之Golang篇是我在日常使用Golang时学习到的各种各样的知识的记录,将其整理出来以文章的形式分享给大家,来进行共同学习。欢迎大家进行持续关注。 知识分享系列目前包含Java、Golang、Linux、Docker等等。
256 0
知识分享之Golang——Bleve中提供的各类搜索方法(一)
|
存储 Java Linux
知识分享之Golang——Bleve中如何定义一个自定义文档映射对象
知识分享之Golang篇是我在日常使用Golang时学习到的各种各样的知识的记录,将其整理出来以文章的形式分享给大家,来进行共同学习。欢迎大家进行持续关注。 知识分享系列目前包含Java、Golang、Linux、Docker等等。
120 0
知识分享之Golang——Bleve中如何定义一个自定义文档映射对象
|
3月前
|
Go
Golang语言之管道channel快速入门篇
这篇文章是关于Go语言中管道(channel)的快速入门教程,涵盖了管道的基本使用、有缓冲和无缓冲管道的区别、管道的关闭、遍历、协程和管道的协同工作、单向通道的使用以及select多路复用的详细案例和解释。
140 4
Golang语言之管道channel快速入门篇
|
3月前
|
Go
Golang语言文件操作快速入门篇
这篇文章是关于Go语言文件操作快速入门的教程,涵盖了文件的读取、写入、复制操作以及使用标准库中的ioutil、bufio、os等包进行文件操作的详细案例。
71 4
Golang语言文件操作快速入门篇
|
3月前
|
Go
Golang语言之gRPC程序设计示例
这篇文章是关于Golang语言使用gRPC进行程序设计的详细教程,涵盖了RPC协议的介绍、gRPC环境的搭建、Protocol Buffers的使用、gRPC服务的编写和通信示例。
112 3
Golang语言之gRPC程序设计示例