我想指数有特殊字符有些话都在一起。
例如,给定m&m
,我想索引它作为一个整体,而不是限定它作为m
和m
(通常&
将被视为一个分隔符)。
有没有办法通过使用标准分词器/过滤器或我应该写一个自己实现这一目标?
我想指数有特殊字符有些话都在一起。
例如,给定m&m
,我想索引它作为一个整体,而不是限定它作为m
和m
(通常&
将被视为一个分隔符)。
有没有办法通过使用标准分词器/过滤器或我应该写一个自己实现这一目标?
基本文本字段类型的索引之前过滤掉特殊字符。 您可以使用字符串类型,但它是不可取的就可以了搜索。 你可以使用WordDelimiterFilterFactory 类型的选项 ,你可以将这些特殊字符,英文字母
%=>百分比&=>和
A标准分词器工厂拆分/在标记化的特殊字符给定的文本。 要使用特殊字符的索引,你既可以编写自己的定制标记生成器,或者你可以做到以下几点:
{" ",";"}
使用PatternTokenizer与字符的上述名单,而不是StandardTokenizer。 您的配置将是这样的:
<analyzer> <tokenizer class="solr.PatternTokenizerFactory" pattern=" |;" /> </analyzer>
您可以使用WhiteSpaceTokenizerFactory。
http://docs.lucidworks.com/display/solr/Tokenizers#Tokenizers-WhiteSpaceTokenizer
这将令牌化只空格。 例如,
“M&M”将被认为是一个单一的标记,所以它会索引那样的