我是Solr的新手。我想知道何时使用 StandardTokenizerFactory 和 KeywordTokenizerFactory ?
我阅读了Apache Wiki上的文档,但我没有得到它。
有人可以解释StandardTokenizerFactory和KeywordTokenizerFactory 之间的区别吗?
答案 0 :(得分:29)
StandardTokenizerFactory: -
它在空格上标记,以及剥离字符
文档: -
在标点字符处拆分单词,删除标点符号。 但是,没有空格的点被认为是其中的一部分 一个令牌。用连字符拆分单词,除非中有一个数字 令牌。在这种情况下,整个令牌被解释为产品 数字并没有拆分。识别电子邮件地址和Internet 主机名作为一个标记。
将其用于您要搜索字段数据的字段。
e.g。 -
http://example.com/I-am+example?Text=-Hello
将生成7个令牌(以逗号分隔) -
http,example.com,I,am,example,Text,Hello
KeywordTokenizerFactory: -
Keyword Tokenizer根本不分割输入。
没有对字符串执行任何处理,整个字符串被视为单个实体
这实际上没有做任何标记化。它将原始文本作为一个术语返回。
主要用于排序或分面要求,您希望在对多个单词进行过滤时匹配精确的构面并进行排序,因为排序不会对标记化字段起作用。
e.g。
http://example.com/I-am+example?Text=-Hello
会生成一个令牌 -
http://example.com/I-am+example?Text=-Hello