美文网首页Golang语言知识库
知识分享之Golang——Bleve中的Text Analysi

知识分享之Golang——Bleve中的Text Analysi

作者: cn華少 | 来源:发表于2021-11-17 23:54 被阅读0次

    知识分享之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等,后续我们再进行深入研究探讨。

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

    相关文章

      网友评论

        本文标题:知识分享之Golang——Bleve中的Text Analysi

        本文链接:https://www.haomeiwen.com/subject/lcartrtx.html