/** * 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)); }