我正在尝试通过Solr设置分面。我有一个名为“类别”的特定字段。分面工作,但显示小写,只包含一个单词。我确定这是由于现场分析器所以我将字段的类型更改为“字符串”。这会产生错误!见下文。
仅供参考 - 我正在使用Solr 4.3。
您可以在下面看到字段类型和字段。您可以看到该字段设置为fieldtype“string”。该字段类型使用“Solr.StrField”。为什么使用此字段类型会导致下面的错误?
<types>
<fieldType name="string" class="solr.StrField" sortMissingLast="true" />
</types>
<fields>
<field name="category" type="string" indexed="true" stored="true"
required="false" multiValued="false"/>
</fields>
我在日志中和尝试运行查询时收到错误消息
此AttributeSource没有该属性 'org.apache.lucene.analysis.tokenattributes.PositionIncrementAttribute'
null:java.lang.IllegalArgumentException:此AttributeSource不支持 有这个属性 'org.apache.lucene.analysis.tokenattributes.PositionIncrementAttribute'。
更新: 由于错误似乎表明我的fieldtype应该具有PositionIncrementAttribute属性,所以我添加到我的字符串中进行测试。然后我清理并重新编入索引,但仍然没有运气。
<fieldType name="string" class="solr.StrField" sortMissingLast="true"
positionIncrementGap="100"/>