【问题标题】:Difference between StandardTokenizerFactory and KeywordTokenizerFactory in Solr?Solr中StandardTokenizerFactory和KeywordTokenizerFactory的区别?
【发布时间】:2018-01-15 18:35:33
【问题描述】:

我是 Solr 新手。我想知道何时使用 StandardTokenizerFactoryKeywordTokenizerFactory

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

谁能解释StandardTokenizerFactory和KeywordTokenizerFactory的区别

【问题讨论】:

    标签: java solr solrnet tokenize


    【解决方案1】:

    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
    

    【讨论】:

    • StandardTokenizerFactory 不会对所有标点符号进行拆分,例如包含撇号的单词(例如can'twon't 等)将保持不变。
    • 是的。如前所述,它不会拆分所有特殊字符或剥离所有特殊字符。它有一定的规则。
    猜你喜欢
    • 2012-06-26
    • 1970-01-01
    • 2013-06-03
    • 2013-04-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-24
    • 2011-05-26
    相关资源
    最近更新 更多