从Solr字段类型过滤器中删除solr.PorterStemFilterFactory会导致突出显示错误

时间:2015-04-09 20:39:06

标签: solr coldfusion

在使用Solr进行搜索的ColdFusion站点中,我正在尝试编辑schema.xml文件,以便关闭词干并仅返回精确的词匹配。这是为文本定义fieldType的方式:

<fieldType name="text" class="solr.TextField" positionIncrementGap="100">
  <analyzer>
    <tokenizer class="solr.StandardTokenizerFactory"/>
    <filter class="solr.CommonGramsFilterFactory" words="stopwords.txt" ignoreCase="true"/>
    <filter class="solr.LowerCaseFilterFactory"/>
    <filter class="solr.RemoveDuplicatesTokenFilterFactory"/>
    <filter class="solr.PorterStemFilterFactory"/>
  </analyzer>
</fieldType>

我删除了分析器节点,重新启动了处理此特定搜索的核心并获得以下异常消息:&#34;元素HIGHLIGHTINGRESULT在作为异常的一部分引用的CFML结构中未定义。&#34;

在结果页面中,突出显示单词匹配。页面结果将在以下字段中呈现:

<field name="body" type="text" indexed="true" stored="true" multiValued="false" />

我将body字段中的类型更改为&#34; string&#34;并得到了同样的错误。当我从文本fieldType中取出solr.PorterStemFilterFactory过滤器时,只要该项具有完全匹配,结果页面就会显示为OK。当找到一个带有词干匹配的项目时(即搜索的单词是&#34; guard&#34;并且找到一个项目&#34; guarded&#34;),抛出异常。

我发现了一些不同的方法来将fieldType设置为仅返回完全匹配,但突出显示的这个问题让我难以理解。

更新:我发现不仅在文本中突出显示了单词,而且如果在HTML标签中找到它们,页面渲染器会尝试将其包装在标签中。因此,对于&#34; lepers&#34;这个词,带有&#34; lepers&#34;在标题得到这个,打破标签: broken tag

0 个答案:

没有答案