0
我想強制Solr標記文本上的空白,逗號,:
和;
。類似於SQL Server全文搜索的功能。如果我使用text_general
場則在標記化其他字符,以及像('/','\','-')
,我嘗試使用Solr Tokenize在白色空間,逗號和期間
<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>
有什麼我失蹤了嗎?我還必須搜索不區分大小寫的比較。
謝謝你,這是真的很有幫助。 – user2711965
你知道我怎麼能在模式中加'<' and '>',我不能用XML規則來指定它,如果我用'>','<',它似乎沒有標記它 – user2711965
'<'和'Solr'>'被解析爲'<' and '>',所以你是對的。然而,'<' and '>'必須以正則表達式格式轉義才能被認爲是文字,所以試試:'\ <''\ >'(尚未測試) – EricLavault