Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/solr/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
查询中的SOLR排序方式_Solr_Solrnet - Fatal编程技术网

查询中的SOLR排序方式

查询中的SOLR排序方式,solr,solrnet,Solr,Solrnet,我想知道是否可以按照您向SOLR请求文件的顺序进行排序。我正在基于的查询中运行一个,希望SOLR根据我请求的顺序返回它们 在(4,2,3,1)中,应将4,2,3,1订购的文件退还给我 谢谢。您需要在solr中按字段订购 我假设“基于In的查询”的意思类似于:获取其fieldx中有值的文档(val1,val2)。您可以将一个字段作为多值字段,并在该字段上。facet查询是一种“正在”搜索,开箱即用(可以这么说),它还可以进行更复杂的搜索 根据OP的查询编辑: 更新带有JSON多值字段的文档。看到

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

在(4,2,3,1)中,应将4,2,3,1订购的文件退还给我

谢谢。

您需要在solr中按字段订购

我假设“基于In的查询”的意思类似于:获取其
fieldx
中有值的文档(
val1
val2
)。您可以将一个字段作为多值字段,并在该字段上。facet查询是一种“正在”搜索,开箱即用(可以这么说),它还可以进行更复杂的搜索


根据OP的查询编辑:

更新带有JSON多值字段的文档。看到线了吗

"my_multivalued_field": [ "aaa", "bbb" ]   /* use an array for a multi-valued field */
关于执行方面查询,请检查

您需要执行一个或多个fq语句:

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

另外,请仔细阅读(在上面的链接中)您需要对存储字段而不是索引字段进行分面处理的事实。

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

var results=\u solr.Query(textQuery,
新查询选项
{
Highlight=新的HighlightingParameters
{
Fields=new[]{“*”},
},
ExtraParams=新字典
{
{“fq”,dateQuery},
{“排序”,“保存日期描述”}
}
});

是的,我是说。但是我如何利用它来完成我需要的东西呢?
 var results = _solr.Query(textQuery,
                new QueryOptions
                {
                    Highlight = new HighlightingParameters
                    {
                        Fields = new[] { "*" },
                    },
                    ExtraParams = new Dictionary<string, string>
                    {
                        {"fq", dateQuery},
                        {"sort", "savedate desc"}
                    }
                });