0

我正在为我的电子商务项目改进由 solr 提供支持的搜索。所以搜索查询在 Solr 中执行,结果由 Solr 返回。

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

但是,对于不同性质的产品,可能会有不同的产品,并且它们几乎没有为它们定义的方面。

我一无所知,因为我怎么会提前知道它们并将其传递给 solr 搜索查询?solr 是否通过某些查询以及搜索结果返回所有方面字段?如果是,如何?

如果不是,那么进一步进行下去的正确方法是什么。

4

3 回答 3

0

Facet Field使用..传递所有可能的字段(您需要分面)facet.mincount=1因此,您将仅获得在您的 solr 数据中至少出现一次的字段

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
于 2013-04-26T05:07:06.093 回答
0

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

于 2013-05-02T07:08:31.753 回答
0

在构面查询搜索中定义所有静态字段名,如果没有命中,您将不会得到该字段的任何结果。

于 2013-04-25T16:53:55.020 回答