我使用带有 solr 的 lucene 来索引一些文档(新闻)。这些文件也有一个标题。现在,我尝试对 HEADLINE 字段进行构面搜索,以找到计数最高的术语。所有这些都可以正常工作,包括停用词列表。HEADLINE 字段是一个多值字段。我使用solr.StandardTokenizerFactory
将这些字段拆分为单个术语(我知道,这不是最佳实践,但它是唯一的方法并且有效)。
有时,tokenizer 会拆分不应拆分的术语,例如9/11
(拆分为 9 和 11)。所以我决定使用“protword”列表。“9/11”是这个原词列表的一部分。但没有变化。
这是我的 schema.xml 中的部分
<fieldType name="facet_headline" class="solr.TextField" omitNorms="true">
<analyzer>
<tokenizer class="solr.StandardTokenizerFactory" protected="protwords.txt"/>
<filter class="solr.LowerCaseFilterFactory"/>
<filter class="solr.TrimFilterFactory" />
<filter class="solr.StopFilterFactory"
ignoreCase="true"
words="stopwords.txt"
enablePositionIncrements="true"
protected="protwords.txt"
/>
</analyzer>
</fieldType>
查看分面结果,我看到很多处理“9/11”的文档在“9”或“11”分组(分面),但从来没有“9/11”。
为什么这不起作用?
谢谢你。