如何索引词与Solr的特殊字符(How to index words with special ch

2019-10-17 18:57发布

我想指数有特殊字符有些话都在一起。

例如,给定m&m ,我想索引它作为一个整体,而不是限定它作为mm (通常&将被视为一个分隔符)。

有没有办法通过使用标准分词器/过滤器或我应该写一个自己实现这一目标?

Answer 1:

基本文本字段类型的索引之前过滤掉特殊字符。 您可以使用字符串类型,但它是不可取的就可以了搜索。 你可以使用WordDelimiterFilterFactory 类型选项 ,你可以将这些特殊字符,英文字母

%=>百分比&=>和



Answer 2:

A标准分词器工厂拆分/在标记化的特殊字符给定的文本。 要使用特殊字符的索引,你既可以编写自己的定制标记生成器,或者你可以做到以下几点:

  • 以字符,在您要来标记的列表/分割文本。 对于如我的列表是{" ",";"}
  • 使用PatternTokenizer与字符的上述名单,而不是StandardTokenizer。 您的配置将是这样的:

      <analyzer> <tokenizer class="solr.PatternTokenizerFactory" pattern=" |;" /> </analyzer> 


Answer 3:

您可以使用WhiteSpaceTokenizerFactory。

http://docs.lucidworks.com/display/solr/Tokenizers#Tokenizers-WhiteSpaceTokenizer

这将令牌化只空格。 例如,

“M&M”将被认为是一个单一的标记,所以它会索引那样的



文章来源: How to index words with special character in Solr
标签: solr