【发布时间】:2018-01-15 18:35:33
【问题描述】:
我是 Solr 新手。我想知道何时使用 StandardTokenizerFactory 和 KeywordTokenizerFactory?
我阅读了 Apache Wiki 上的文档,但没有得到它。
谁能解释StandardTokenizerFactory和KeywordTokenizerFactory的区别?
【问题讨论】:
标签: java solr solrnet tokenize
我是 Solr 新手。我想知道何时使用 StandardTokenizerFactory 和 KeywordTokenizerFactory?
我阅读了 Apache Wiki 上的文档,但没有得到它。
谁能解释StandardTokenizerFactory和KeywordTokenizerFactory的区别?
【问题讨论】:
标签: java solr solrnet tokenize
StandardTokenizerFactory:-
它对空格进行标记,并去除字符
文档:-
在标点符号处拆分单词,删除标点符号。 但是,后面没有空格的点被认为是 一个令牌。在连字符处拆分单词,除非在 令牌。在这种情况下,整个令牌被解释为一个产品 编号且不拆分。识别电子邮件地址和互联网 主机名作为一个令牌。
将其用于您要搜索字段数据的字段。
例如-
http://example.com/I-am+example?Text=-Hello
将生成 7 个标记(以逗号分隔)-
http,example.com,I,am,example,Text,Hello
KeywordTokenizerFactory:-
Keyword Tokenizer 根本不拆分输入。
对字符串不做任何处理,将整个字符串视为一个实体。
这实际上并没有进行任何标记化。它将原始文本作为一个术语返回。
主要用于排序或分面要求,在过滤多个单词和排序时要匹配确切的分面,因为排序不适用于标记化的字段。
例如
http://example.com/I-am+example?Text=-Hello
将生成单个令牌 -
http://example.com/I-am+example?Text=-Hello
【讨论】:
can'twon't 等)将保持不变。