use*_*965 2 solr solrnet solr4
我试图迫使Solr在白色空格,逗号:和;.上标记文档 .与SQL Server全文搜索类似的东西.如果我使用text_general字段然后它标记其他字符也像('/','\','-')我尝试使用
<tokenizer class="solr.PatternTokenizerFactory" pattern="\s*,:;\s*"/>
Run Code Online (Sandbox Code Playgroud)
但它没有标记它.这是我的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>
Run Code Online (Sandbox Code Playgroud)
有什么我想念的吗?我也必须搜索不区分大小写的比较.
你的模式实际上是错误的,尝试这样的事情:
pattern="[\s,;:]"
您可能想尝试的替代方案:
PatternReplaceCharFilterFactory(, : ;用空格替换)
WhitespaceTokenizerFactory 它在空白上标记并提供有趣的选项.
| 归档时间: |
|
| 查看次数: |
2649 次 |
| 最近记录: |