SOLR按IN查询​​排序

时间:2012-01-23 18:17:50

标签: solr solrnet

我想知道是否可以按照您从SOLR请求文件的顺序进行排序。我正在运行基于 In 的查询,并希望SOLR根据我的要求返回它们。

在(4,2,3,1)中应该返回我订购的文件4,2,3,1。

感谢。

2 个答案:

答案 0 :(得分:3)

在solr中需要Sorting,按字段排序。

我认为“在基础查询中”意味着:获取fieldx在(val1val2中具有值的文档。您可以将字段作为多值字段并在该字段上facet。 facet查询是一种“进入”搜索,开箱即用(可以这么说),它也可以进行更复杂的搜索。


编辑OP的查询:

使用JSON here中的多值字段更新文档。见行

"my_multivalued_field": [ "aaa", "bbb" ]   /* use an array for a multi-valued field */

至于方面查询,请检查this

你需要做一个或多个fq语句:

&fq=field1:[400 to 500]
&fq=field2:johnson,thompson

另外,请阅读您需要在存储而非索引字段上进行分析的事实(在上面的链接中)。

答案 1 :(得分:0)

您可以使用QueryOptions和字段排序轻松应用排序(ExtraParams属性 - 我按保存字段排序,降序):

 var results = _solr.Query(textQuery,
                new QueryOptions
                {
                    Highlight = new HighlightingParameters
                    {
                        Fields = new[] { "*" },
                    },
                    ExtraParams = new Dictionary<string, string>
                    {
                        {"fq", dateQuery},
                        {"sort", "savedate desc"}
                    }
                });