获取包含搜索结果的facet字段

时间:2013-04-25 12:02:22

标签: solr

我正致力于改进搜索,这是由我的电子商务项目的solr驱动的。因此,搜索查询将在Solr中执行,结果将由Solr返回。

这很好用。现在我需要在搜索结果上提供一个方面。第一个可以是类别,这很容易实现,因为Category对于所有产品都是通用的,在查询中我只是启用facet并将类别作为facet字段传递。

然而,对于不同性质的产品,可能会有不同的产品,并且它们的定义很少。

我很无能为力,因为我如何提前知道它们并在solr搜索查询中传递它? solr是否会通过某些查询以及搜索结果返回所有facet字段?如果是,怎么样?

如果不是,那么可能是进一步行进的正确方法。

3 个答案:

答案 0 :(得分:0)

在构面查询搜索中定义所有静态字段名称,如果没有匹配,则不会为该字段返回任何结果。

答案 1 :(得分:0)

Facet Fieldfacet.mincount=1的所有可能字段(需要刻面)传递给http://<hostname>:<portname>/solr/<core_name>/select?q:<fieldname>:<value>&fq=<field_name>:<value>&fl=<field1>,<field2>,<fieldn>&start=0&rows=10&facet=true&facet.field=<field1>&facet.field=<field2>&facet.field=<fieldn>&facet.mincount=1 ..所以,您只能获得在您的solr中至少出现过一次的字段数据

{{1}}

答案 2 :(得分:0)

传递要进行构面过滤的所有唯一构面字段名称,您将获得具有构面字段的所有记录。