Solr中StandardTokenizerFactory和KeywordTokenizerFactory之间的区别?

时间:2011-10-04 09:00:09

标签: java solr solrnet tokenize

我是Solr的新手。我想知道何时使用 StandardTokenizerFactory KeywordTokenizerFactory

我阅读了Apache Wiki上的文档,但我没有得到它。

有人可以解释StandardTokenizerFactory和KeywordTokenizerFactory 之间的区别吗?

1 个答案:

答案 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