Solr Json Facet API с использованием Solarium - PullRequest
0 голосов
/ 26 августа 2018

Я работаю над проектом PHP, где я использую Solarium в качестве своей Первичной библиотеки для взаимодействия с Apache Solr.

Я использую Json Facet API Solr следующим образом: -

json.facet={"unique_docs":"unique(doc_id)","hll_docs":"hll(doc_id)"}

Как я могу использовать аналогичный запрос с солярием.

Я нашел разрешенную проблему на странице Github в солярии, которая меня беспокоит.

JSON Facet API # 378

Но на странице не объясняется, как его использовать. В документации по Солярию нет ничего относящегося к этому.

1 Ответ

0 голосов
/ 07 марта 2019

Я работал с customizerequest:

$facet_json = '{my_key:{type:terms,field:my_solr_field_name,domain:{blockChildren:"my_parent_filter:1"}}}';

$customizer = $this->client->getPlugin('customizerequest');
$customizer->createCustomization('json.facet')
    ->setType('param')
    ->setName('json.facet')
    ->setValue($facet_json);

Был релиз , который должен поддерживать API с чем-то вроде $ facetset-> createJsonFacetTerms ($ options), но мне так и не удалосьчтобы заставить его работать так, как он должен, и не смог найти никакого документа.

Чтобы получить фасет json после выполнения запроса, у меня есть что-то вроде этого:

$facet_result = $this->result_set->getFacetSet()->getFacet('my_key');

foreach($facet_result as $facet) {
    $value = $facet->getValue();
    $count = $facet->getCount();
}
...