11

我是 Solr 的新手。通过阅读 Solr 的 wiki,我不明白 WhitespaceTokenizerFactory 和 StandardTokenizerFactory 之间的区别。他们真正的区别是什么?

4

1 回答 1

27

它们的不同之处在于如何将分析的文本拆分为标记。

StandardTokenizer基于以下内容(取自 lucene javadoc)执行此操作:

  • 在标点符号处拆分单词,删除标点符号。但是,后面没有空格的点被视为标记的一部分。
  • 在连字符处拆分单词,除非标记中有数字,在这种情况下,整个标记被解释为产品编号并且不被分割。
  • 将电子邮件地址和 Internet 主机名识别为一个标记。

WhitespaceTokenizer基于空白字符执行此操作:

WhitespaceTokenizer 是在空白处划分文本的标记器。相邻的非空白字符序列形成标记。

您应该选择最适合您的应用程序的标记器。在任何情况下,您都必须使用相同的分析器/标记器进行索引和搜索!

于 2012-06-25T03:13:57.513 回答