/**
  * {@inheritdoc}
  */
 public function modifySearch(Search $search, FilterState $state = null, SearchRequest $request = null)
 {
     if ($state && $state->isActive()) {
         $filter = new RangeFilter($this->getField(), $state->getValue());
         $search->addPostFilter($filter);
     }
 }
Beispiel #2
0
 /**
  * {@inheritdoc}
  */
 public function modifySearch(Search $search, FilterState $state = null, SearchRequest $request = null)
 {
     if ($state && $state->isActive()) {
         $search->setFrom($this->countPerPage * ($state->getValue() - 1));
     }
     $search->setSize($this->countPerPage);
 }
 /**
  * {@inheritdoc}
  */
 public function modifySearch(Search $search, FilterState $state = null, SearchRequest $request = null)
 {
     if ($state && $state->isActive()) {
         if (strpos($this->getField(), ',') !== false) {
             $subQuery = new BoolQuery();
             foreach (explode(',', $this->getField()) as $field) {
                 $subQuery->add(new FuzzyQuery($field, $state->getValue(), $this->getParameters()), 'should');
             }
             $search->addQuery($subQuery, 'must');
         } else {
             $search->addQuery(new FuzzyQuery($this->getField(), $state->getValue(), $this->getParameters()), 'must');
         }
     }
 }
Beispiel #4
0
 /**
  * {@inheritdoc}
  */
 public function modifySearch(Search $search, FilterState $state = null, SearchRequest $request = null)
 {
     if ($state && $state->isActive()) {
         $stateValue = $state->getValue();
         if (!empty($this->choices[$stateValue]['fields'])) {
             foreach ($this->choices[$stateValue]['fields'] as $sortField) {
                 $search->addSort(new EsSort($sortField['field'], $sortField['order'], null, $sortField['mode']));
             }
         } else {
             $sortField = $this->choices[$stateValue];
             $search->addSort(new EsSort($sortField['field'], $sortField['order'], null, $sortField['mode']));
         }
     } else {
         foreach ($this->choices as $choice) {
             if ($choice['default']) {
                 $search->addSort(new EsSort($choice['field'], $choice['order']));
                 break;
             }
         }
     }
 }
 /**
  * {@inheritdoc}
  */
 public function modifySearch(Search $search, FilterState $state = null, SearchRequest $request = null)
 {
     if ($state && $state->isActive()) {
         $search->addPostFilter(new TermsFilter($this->getField(), $state->getValue(), ['execution' => 'and']), 'must_not');
     }
 }