Sorting 特殊分拣
我有solr中的文本字段,我希望它以特殊方式排序Sorting 特殊分拣,sorting,solr,Sorting,Solr,我有solr中的文本字段,我希望它以特殊方式排序 title ------- The Book When Available 由于在我查询和排序asc字段时,(何时,开)单词包含在我的停止单词列表中,因此我希望它们显示为: When Available ( first ) The Book ( second ) 到目前为止,我已经尝试了不同的组合 <fieldType name="sortString" class="solr.TextField" sortM
title
-------
The Book
When Available
由于在我查询和排序asc字段时,(何时,开)单词包含在我的停止单词列表中,因此我希望它们显示为:
When Available ( first )
The Book ( second )
到目前为止,我已经尝试了不同的组合
<fieldType name="sortString" class="solr.TextField" sortMissingLast="true" omitNorms="true">
<analyzer type="index">
<tokenizer class="solr.KeywordTokenizerFactory"/>
<filter class="solr.StopFilterFactory" ignoreCase="true" words="lang/stopwords_en.txt" enablePositionIncrements="true"/>
.......
</analyzer>
</fieldType>
.......
等等,但没有成功,
有可能做到这一点吗 我怀疑这是行不通的 StopWordFiltering会过滤掉与stopwords匹配的标记,但关键字标记器实际上不会将文本拆分为多个标记。由于整个标题是一个标记,并且不是您的stopwords之一,因此筛选器不执行任何操作 然而,您不能在排序文本字段中使用任何其他标记器 因此,我看到两种选择: 第一,使用PatternReplaceFilter应用正则表达式并匹配/删除未中断文本值中的停止字 第二,删除准备Solr文档以提交给Solr的代码中的stopwords 与内置Solr停止字过滤器相比,两者都有明显的缺点。我个人非常频繁地使用选项二。第一种选择可能会变得非常难以管理,而不仅仅是几个停止词