2017-03-05 50 views
1

我试图让Solr按标题排序,但我没有运气。Solr没有正确排序copyField

在我的模式中,我有“title”字段作为text_general进行搜索,然后将“title_sort”字段作为用于排序的字符串。我创建了一个copyField,它应该将“标题”text_general字段作为字符串放入“title_sort”字段中。

<fields> 
    <field name="title" type="text_general" indexed="true" stored="true"/> 
    <field name="title_sort" type="string" indexed="true" stored="false" />  
</fields> 

<copyField source="title" dest="title_sort" /> 

当我运行的排序查询“title_sort递减”这是我回来

title: Don’t Mind If I Do 
title: Men Don't Run Marathons 
title: Danny 

能否在copyField一个text_general场未转换为字符串?

+0

您可以请您分享您的查询,您正在使用的排序.. –

+0

我对Solr有点新,所以让我知道,如果这是你在寻找问。当我通过Solr管理面板查询时,这是URL字符串:http:// localhost:8080/solr/collection1/select?q = *%3A *&sort = title_sort + desc&wt = json&indent = true –

+0

您是否在添加后重新索引copyField指令? (Solr不会遍历所有文档并更新辅助字段)将'title_sort'字段设置为已存储,并验证您在那里也获得了正确的信息。任何'copyField'指令都会在处理任何字段之前发生,因此字段的类型不会影响copyField指令。 – MatsLindh

回答

0

@MatsLindh的帮助下解决。

我一直在CoreAdmin面板重新加载模式,认为会做出更改。添加copyField指令后我必须重新索引,因为Solr不会遍历所有文档并更新辅助字段。