【发布时间】:2014-02-13 16:57:40
【问题描述】:
我正在尝试强制 Solr 在空格、逗号、: 和 ; 上标记文档。类似于 SQL Server 全文搜索所做的事情。如果我使用 text_general 字段,那么它会标记其他字符以及 ('/','\','-') ,我尝试使用
<tokenizer class="solr.PatternTokenizerFactory" pattern="\s*,:;\s*"/>
但它没有标记它。这是我的FieldType 的样子:
<fieldType name="text_sqlserver" class="solr.TextField" positionIncrementGap="100">
<analyzer type="index">
<tokenizer class="solr.PatternTokenizerFactory" pattern="\s*,:;\s*"/>
<filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" />
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
<analyzer type="query">
<tokenizer class="solr.PatternTokenizerFactory" pattern="\s*,:;\s*"/>
<filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" />
<filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true"/>
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
</fieldType>
有什么我想念的吗?我还必须搜索不区分大小写的比较。
【问题讨论】: