有人可以解释一下什么是“Tokenized Field”在数据库中的意思吗?

3

我正在了解SOLR以及如何将MySQL数据库索引到SOLR。

"Tokenize"和"un-tokenize"是什么意思?

当字段被“规范化”时,这意味着什么?

我知道如何规范化数据库,但是一个字段怎么可能被规范化呢?

谢谢。

2个回答

5
“tokenize”和“un-tokenize”的含义是什么?
对一个字段进行标记化(tokenizing)可以实现全文搜索,即查找该字段中出现的任何单词。未标记化(un-tokenized)的字段只有在您拥有完整和精确匹配时才能找到,例如,如果字段的内容为“blue moon”,则只有在搜索“blue moon”时才能找到它,而不是仅搜索“blue”。
那么当字段被“规范化(normalized)”时,这是什么意思?
这很可能是指Unicode normalization - Unicode具有用于表示变音符号的单独代码点,例如U+0060是`(重音符),因此带重音符号的字母è可以是一个Unicode字符(U+00E8)或由两个字符(U+0060和U+0065)组成。但当您搜索è时,您肯定希望找到这两种情况。

3
分词器将字符流分成单词,这些单词是搜索的原子单位。可以根据空格、单词边界等拆分字符串。这些单词通常会通过第二阶段的过滤器进行进一步转换(如soundex代码、porter词干提取等)。结果是单词的规范化表示,可以进行高效的比较。
例如:"The Cats Eat Cheese!" 可能被规范化为以下单词:1) cat 2) eat 3) cheese "the"被移除(停用词),cat现在是单数形式(词干提取),标点符号被去除,而且单词被转换为小写。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接