Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/performance/5.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_Lucene_Facet_Rollup - Fatal编程技术网

Solr汇总查询

Solr汇总查询,solr,lucene,facet,rollup,Solr,Lucene,Facet,Rollup,我对SOLR有一个特定的查询,我似乎找不到解决方案。我有一个产品和sku的索引。一个产品有多个sku,每个sku有一个产品。我只想对我的SKU执行搜索,按父产品分组,只返回父产品的详细信息,而不返回项目的详细信息。但是,我希望facet代表原始项目列表。今天的SOLR能做到这一点吗?这是什么版本?我认为这是可能的,我的建议是设计您的核心,使文档只代表一个SKU或一个项目。因此,您的唯一Id将是SKU Id。然后您需要一个不唯一的productId,并且对于具有相同父产品的SKU,该product

我对SOLR有一个特定的查询,我似乎找不到解决方案。我有一个产品和sku的索引。一个产品有多个sku,每个sku有一个产品。我只想对我的SKU执行搜索,按父产品分组,只返回父产品的详细信息,而不返回项目的详细信息。但是,我希望facet代表原始项目列表。今天的SOLR能做到这一点吗?这是什么版本?

我认为这是可能的,我的建议是设计您的核心,使文档只代表一个SKU或一个项目。因此,您的唯一Id将是SKU Id。然后您需要一个不唯一的productId,并且对于具有相同父产品的SKU,该productId可以具有相同的值

您还可以跨所有文档反规范化产品详细信息。因此,当您返回商品的详细信息时,您也会得到产品的详细信息

查询的诀窍是在Solr中使用分组或字段折叠功能。 请参阅此处的更多详细信息:

但首先,我建议在查询中设置以下值:

Set group=true这将启用分组 将group.field=productId设置为group,或按productId折叠项目 将group.facet=false设置为包含facet计数中所有项目的详细信息 因此,这将使您能够跨所有项目进行搜索,返回按ProductId分组的结果,并将方面编号应用于所有项目。 这不是新功能,如果您有任何Solr 3.3或4.x,您应该能够使用分组。

您可以使用:

排序:地图特价,199999,特价,价格说明 排序:地图特价,199999,特价,价格asc