Text Analysis(文本分析)
文本分析是将输入文本转换成一系列分析后的术语的过程。在索引时进行分析,将输入文档转换为索引项。在查询时也要进行分析,将查询输入转换成我们要搜索的索引项形式。
Example
假设我们有一个包含文本 “watery light beer” 的文档。然后让我们想象一个用户搜索“watered down”。
在这种情况下没有精确的匹配,但是如果我们希望这个查询与这个文档匹配,我们可以通过选择正确的分析器来完成。在这种情况下,我们希望使用一种能够提取词干英语单词的分析器。
这样,文档的索引条目将包含术语:“water”、“light”、“beer”。该查询将搜索术语:“water”、“down”。
现在我们看到这些术语将匹配,用户将获得搜索结果。
Now we see that the terms will match and the user will get search results.
词干只是文本转换的一种方式,这里的关键是选择正确的分析器对于获得高质量的搜索结果至关重要。
Stemming is just one way in which the text can be transformed, the key here is that choosing the right analyzer is essential to getting high quality search results.
Text Analysis in bleve(bleve 中的文本分析)
分析器用于将输入文本转换成标记流进行索引。在bleve中,分析器由模块化组件构成。
Analyzers are used to transform input text into a stream of tokens for indexing. In bleve, Analyzers are built up from modular components.
- 字符过滤器从输入文本中剔除不需要的字符。
- Character Filters strip out undesirable characters from the input.
- 令牌化器将输入字符串分割成令牌流。通常,您会尝试为每个单词创建一个标记。
- Tokenizers split input strings into a token stream. Typically you’re trying to create a token for each word.
- 令牌过滤器链接在一起,对令牌流执行附加的后处理。
- Token Filters are chained together to perform additional post processing on the token stream.
目前对于一些术语表述还有些问题,请各位看官指正,如果觉得本文有用的话请点赞收藏
网友评论