Example #1
0
 /**
  *
  * @param Opus_SolrSearch_Query $query
  * @return string
  */
 private function getParams($query)
 {
     if ($query->getSearchType() === Opus_SolrSearch_Query::LATEST_DOCS) {
         return array('fl' => $query->isReturnIdsOnly() ? 'id' : '* score', 'facet' => 'false', 'sort' => $query->getSortField() . ' ' . $query->getSortOrder());
     }
     if ($query->getSearchType() === Opus_SolrSearch_Query::FACET_ONLY) {
         return array('fl' => '', 'facet' => 'true', 'facet.field' => $query->getFacetField(), 'facet.mincount' => 1, 'facet.limit' => -1);
     }
     if ($query->getSearchType() === Opus_SolrSearch_Query::DOC_ID) {
         return array('fl' => $query->isReturnIdsOnly() ? 'id' : '* score', 'facet' => 'false');
     }
     $params = array('fl' => $query->isReturnIdsOnly() ? 'id' : '* score', 'facet' => $query->isReturnIdsOnly() ? 'false' : 'true', 'facet.field' => $this->setFacetFieldsFromConfig(), 'facet.mincount' => 1, 'sort' => $query->getSortField() . ' ' . $query->getSortOrder(), 'facet.limit' => isset($this->config->searchengine->solr->globalfacetlimit) ? $this->config->searchengine->solr->globalfacetlimit : 10);
     $fq = $query->getFilterQueries();
     if (!empty($fq)) {
         $params['fq'] = $fq;
     }
     if (isset($this->facetArray)) {
         $params = array_merge($params, $this->getFacetArray(), $this->getFacetSortsFromConfig());
     } else {
         $params = array_merge($params, $this->getFacetLimitsFromConfig(), $this->getFacetSortsFromConfig());
     }
     return $params;
 }