Я возвращаю результат с фасетом из solr 6.4.1, где моя цель состоит в том, чтобы:
- dial
- dial_id
- count dial (сколько результатов)
Поскольку я хочу отобразить имя (например, "черный") в виде фасета с количеством результатов, И создать ссылку, которая впоследствии будет фильтроваться для него.
Например:
/ search? Dial_id = 48
Причина в том, что я не хочу создавать URL-адрес, подобный этому:
/ search? Dial = Grün
В данный момент фацет выглядит так:
<lst name="dial">
<int name="Rot">5</int>
<int name="Grün">4</int>
</lst>
Создано с помощью PHP:
foreach($this->setFacet AS $facet) $this->query->addFacetField(''.$facet.'');
Явно отсутствует идентификатор
Мой код для получения в настоящее время выглядит следующим образом:
function facete_dial(){
foreach( $this->response->facet_counts->facet_fields->dial AS $dial => $count){
$this->dial_facetes[$dial] = $count;
}
return $this->dial_facetes;
}
Успешно возвращает цвет и количество результатов.
Как добавить dial_idв сторону, чтобы получить его позже?Или есть лучший подход к этой задаче?