This takes into account contenttypes that aren't searchable along with taxonomy and field weightings.
Beispiel #1
0
 public function testTagsTaxonomyWeighting()
 {
     $app = $this->getApp();
     $search = new SearchConfig($app['config']);
     $fieldConfig = $search->getFieldConfig('entries', 'tags');
     $this->assertEquals(75, $fieldConfig['weight']);
 }
Beispiel #2
0
 /**
  * This overrides the SelectQuery default to do some extra preparation for a search query.
  * Firstly it builds separate filters for the search query and then it removes the filter
  * from the params and the others will then get processed normally by the parent.
  */
 protected function processFilters()
 {
     if (!$this->contentType) {
         throw new QueryParseException('You have attempted to run a search query without specifying a ContentType', 1);
     }
     if (!($config = $this->config->getConfig($this->contentType))) {
         throw new QueryParseException('You have attempted to run a search query on an unknown ContentType or one that is not searchable', 1);
     }
     $params = $this->params;
     unset($params['filter']);
     foreach ($config as $field => $options) {
         $params[$field] = $this->getSearchParameter();
     }
     $this->params = $params;
     parent::processFilters();
 }