我是solr新手,希望实现文档分组。我使用的是solr 6.1版本。我有一个schema.xml,其中包含如下字段:
<field indexed="true" name="recentjobtitle" omitNorms="false" omitTermFreqAndPositions="false" stored="true" termOffsets="true" termPositions="true" termVectors="true" type="text_general"/>
<field docValues="false" indexed="true" name="recentjobtitlecopy" omitNorms="false" omitTermFreqAndPositions="false" stored="false" termOffsets="true" termPositions="true" termVectors="true" type="string_ci"/>
这里,“recentjobtitle”是一个标记化字段,因此为了获得分组结果,我使用了“recentjobtitlecopy”字段。
<copyField dest="recentjobtitlecopy" source="recentjobtitle"/>
现在,当我像这样运行组查询时:
group=true&group.field=recentjobtitlecopy&group.limit=10
我得到了这个异常:solr结果分组错误字段“recentjobtitlecopy”(预期=排序)的意外docvalues类型排序集。
我甚至尝试删除“recentjobtitlecopy”字段上的“docvalues”属性,通过数据导入处理程序控制台执行重新索引。不过,例外情况还是一样的。
奇怪的是,同样的代码在我的本地机器(有和没有docvalues)solr设置上工作,但在托管环境(这里有多个碎片)上抛出异常。有人能指出我是否遗漏了什么或做错了什么吗?
1条答案
按热度按时间pcrecxhr1#
使用
string
作为名为recentjobtitlecopy
不要在字段中使用多值。您的字段定义如下所示。这是对字段的简单定义。您可以根据需要添加其他属性。