solr 3.6.1在短划线处分割字边界

时间:2012-11-21 18:39:29

标签: solr lucene hyphen

我们有一个数字的故障单格式除以破折号,即n-nnnnnnn

链接http://lucidworks.lucidimagination.com/display/solr/Tokenizers(在标准Tokenizer和Classic Tokenizer的章节中)暗示了在支持Unicode标准附件UAX#29之前和之后:

单词用连字符分开,除非单词中有数字,在这种情况下,标记不会被分割,数字和连字符会被保留。

我们的Solr安装仅使用StandardTokenizerFactory,但此故障单格式正在破折号的查询中拆分。我是solr / lucene的新手。我已经下载了3.6.1的代码,而评论意味着相反(除非虚线数字仍被视为数字)。我无法跟踪Lex处理:

  • 生成的代币具有以下类型:
    • < ALPHANUM>:一系列字母和数字字符
    • < NUM&gt ;:数字
    • < SOUTHEAST_ASIAN>:南部和东南部的一系列人物
    • 亚洲语言,包括泰语,老挝语,缅甸语和高棉语
    • < IDEOGRAPHIC&gt ;:单个CJKV表意字符
    • < HIRAGANA>:单个平假名字符

任何人都可以澄清这一点。

1 个答案:

答案 0 :(得分:1)

您需要正则表达式模式标记器。此标记生成器使用Java正则表达式将输入文本流分解为标记。 pattern参数提供的表达式可以解释为分隔标记的分隔符,或者将应该从文本中提取的模式匹配为标记。

有关Java正则表达式语法的详细信息,请参阅Javadocs for java.util.regex.Pattern