Esempio n. 1
0
 /**
  * prepare input params
  * @return void
  */
 private function prepareParams()
 {
     $p =& $this->inputParams;
     /* initial parameters */
     $this->query = empty($p['query']) ? '' : $this->escapeLuceneChars($p['query']);
     $this->rows = isset($p['rows']) ? intval($p['rows']) : User::getGridMaxRows();
     $this->start = empty($p['start']) ? empty($p['page']) ? 0 : $this->rows * (intval($p['page']) - 1) : intval($p['start']);
     $this->params = array('defType' => 'dismax', 'q.alt' => '*:*', 'qf' => "name content^0.5", 'tie' => '0.1', 'fl' => $this->getFieldListParam($p), 'fq' => $this->getFilterQueryParam($p), 'sort' => $this->getSortParam($p));
     /* setting highlight if query parrameter is present /**/
     if (!empty($this->query)) {
         $this->params['hl'] = 'true';
         $this->params['hl.fl'] = 'name,content';
         $this->params['hl.simple.pre'] = '<em class="hl">';
         $this->params['hl.simple.post'] = '</em>';
         $this->params['hl.usePhraseHighlighter'] = 'true';
         $this->params['hl.highlightMultiTerm'] = 'true';
         $this->params['hl.fragsize'] = '256';
     }
     $this->facets = array();
     if (!$this->facetsSetManually && !empty($p['facets'])) {
         $this->facets =& $p['facets'];
     }
     $fp = $this->getFacetParams($p);
     if (!empty($fp)) {
         $this->params = array_merge($this->params, $fp);
     }
     //analize facet filters
     $this->params['fq'] = array_merge($this->params['fq'], $this->getFacetFilters($p));
 }