1

我已经用 Solarium 构建了我们的搜索系统用户界面。我看到,在查询之前,我可以使用 ->getFacetSet()->createFacetField('xyz')->setField('xyz') 轻松设置我的选择查询对象...

但是我的 Solr requestHandler 已经返回了我需要的所有方面。在我的结果集中,我看不到一种方法来检索 Solr 通常默认返回的方面。

是否可以?或者无论如何,我必须通过 Solarium 明确请求所有方面,基本上是重复我在 requestHandler 中所做的工作?

4

1 回答 1

1

其实比较简单。我只需要首先获得结果集:

$resultset = $client->select($query);

然后从 $resultset 中获取完整的数据:

$resultData = $resultset->getData();

然后我能够做这样的事情来解析它们:

if ($facet_ranges = $resultData['facet_counts']['facet_ranges']) {
  foreach ($facet_fields as $facet_name => $facet) {
     // Do stuff here
  }
}

..最好的部分是这可以用于 Solr 响应的任何其他不受支持的元素,例如集群和其他东西。

于 2014-06-24T18:41:28.223 回答