知识分享之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 国际许可协议 进行许可。

目录
相关文章
|
6天前
|
安全 Go
Golang深入浅出之-Go语言模板(text/template):动态生成HTML
【4月更文挑战第24天】Go语言标准库中的`text/template`包用于动态生成HTML和文本,但不熟悉其用法可能导致错误。本文探讨了三个常见问题:1) 忽视模板执行错误,应确保正确处理错误;2) 忽视模板安全,应使用`html/template`包防止XSS攻击;3) 模板结构不合理,应合理组织模板以提高可维护性。理解并运用这些最佳实践,能提升Go语言模板编程的效率和安全性,助力构建稳健的Web应用。
28 0
|
6天前
|
安全 Go 开发者
Golang深入浅出之-Go语言模板(text/template):动态生成HTML
【4月更文挑战第25天】Go语言的`text/template`和`html/template`库提供动态HTML生成。本文介绍了模板基础,如基本语法和数据绑定,以及常见问题和易错点,如忘记转义、未初始化变量、复杂逻辑处理和错误处理。建议使用`html/template`防止XSS攻击,初始化数据结构,分离业务逻辑,并严谨处理错误。示例展示了条件判断和循环结构。通过遵循最佳实践,开发者能更安全、高效地生成HTML。
25 0
|
存储 Java Linux
知识分享之Golang——Bleve官方案例解析
知识分享之Golang篇是我在日常使用Golang时学习到的各种各样的知识的记录,将其整理出来以文章的形式分享给大家,来进行共同学习。欢迎大家进行持续关注。 知识分享系列目前包含Java、Golang、Linux、Docker等等。
188 0
知识分享之Golang——Bleve官方案例解析
|
存储 自然语言处理 Java
知识分享之Golang——Bleve专用术语
知识分享之Golang篇是我在日常使用Golang时学习到的各种各样的知识的记录,将其整理出来以文章的形式分享给大家,来进行共同学习。欢迎大家进行持续关注。 知识分享系列目前包含Java、Golang、Linux、Docker等等。
108 0
知识分享之Golang——Bleve专用术语
|
存储 Java Linux
知识分享之Golang——Bleve的NewIndexMapping解析
知识分享之Golang篇是我在日常使用Golang时学习到的各种各样的知识的记录,将其整理出来以文章的形式分享给大家,来进行共同学习。欢迎大家进行持续关注。 知识分享系列目前包含Java、Golang、Linux、Docker等等。
137 0
知识分享之Golang——Bleve的NewIndexMapping解析
|
自然语言处理 Java Linux
知识分享之Golang——Bleve中的Token filters各种标记过滤器
知识分享之Golang篇是我在日常使用Golang时学习到的各种各样的知识的记录,将其整理出来以文章的形式分享给大家,来进行共同学习。欢迎大家进行持续关注。 知识分享系列目前包含Java、Golang、Linux、Docker等等。
100 0
知识分享之Golang——Bleve中的Token filters各种标记过滤器
|
自然语言处理 Java Linux
知识分享之Golang——Bleve中的字符过滤器和分词规则
知识分享之Golang篇是我在日常使用Golang时学习到的各种各样的知识的记录,将其整理出来以文章的形式分享给大家,来进行共同学习。欢迎大家进行持续关注。 知识分享系列目前包含Java、Golang、Linux、Docker等等。
177 0
知识分享之Golang——Bleve中的字符过滤器和分词规则
|
Java Linux Go
知识分享之Golang——Bleve中提供的各类搜索方法(一)
知识分享之Golang篇是我在日常使用Golang时学习到的各种各样的知识的记录,将其整理出来以文章的形式分享给大家,来进行共同学习。欢迎大家进行持续关注。 知识分享系列目前包含Java、Golang、Linux、Docker等等。
189 0
知识分享之Golang——Bleve中提供的各类搜索方法(一)
|
存储 Java Linux
知识分享之Golang——Bleve中如何定义一个自定义文档映射对象
知识分享之Golang篇是我在日常使用Golang时学习到的各种各样的知识的记录,将其整理出来以文章的形式分享给大家,来进行共同学习。欢迎大家进行持续关注。 知识分享系列目前包含Java、Golang、Linux、Docker等等。
89 0
知识分享之Golang——Bleve中如何定义一个自定义文档映射对象
|
Java Linux Go
知识分享之Golang——Bleve中查询时指定具体字段Field和权重
知识分享之Golang篇是我在日常使用Golang时学习到的各种各样的知识的记录,将其整理出来以文章的形式分享给大家,来进行共同学习。欢迎大家进行持续关注。 知识分享系列目前包含Java、Golang、Linux、Docker等等。
109 0
知识分享之Golang——Bleve中查询时指定具体字段Field和权重