/**
  * Builds search request according to given filters.
  *
  * @param Request $request
  *
  * @return SearchRequest
  */
 public function buildSearchRequest(Request $request)
 {
     $search = new SearchRequest();
     /** @var FilterInterface[] $filters */
     $filters = $this->all();
     foreach ($filters as $name => $filter) {
         $state = $filter->getState($request);
         $state->setName($name);
         $search->set($name, $state);
     }
     return $search;
 }
 public function searchAccounts($cpf)
 {
     try {
         $searchRequest = new SearchRequest();
         $searchRequest->setCpf($cpf);
         $httpResponse = $this->getHttpHelper()->post(Config::accountHost, $searchRequest, $this->getAuthenticationHelper()->generateAuthenticationBasic());
         if (!$httpResponse->isResponseOK()) {
             if ($httpResponse->isBadRequest()) {
                 throw new AccountException("Parametros fornecidos sao invalidos: " . $httpResponse->getResponse());
             }
             throw new AccountException("Falha ao criar conta: " . $httpResponse->getResponse());
         }
         return $this->parse($httpResponse->getResponse());
     } catch (ServiceHttpException $e) {
         throw new AccountException("Falha HTTP ao criar conta", $e);
     }
 }
 /**
  * Return a instance of SearchRequest.
  * @return SearchRequest Instance of SearchRequest
  */
 public static function getInstance()
 {
     wfProfileIn('BS::' . __METHOD__);
     if (self::$oInstance === null) {
         self::$oInstance = new self();
     }
     wfProfileOut('BS::' . __METHOD__);
     return self::$oInstance;
 }
 public function searchAccounts($cpf)
 {
     try {
         $auth = $this->genereteAuthenticationBasic();
         $searchRequest = new SearchRequest();
         $searchRequest->setCpf($cpf);
         $httpResponse = HttpServiceImpl::post(Config::accountHost, $searchRequest, $auth);
         if ($httpResponse->getCode() != self::$RESPONSE_OK) {
             throw new Exception($httpResponse->getResponse(), $httpResponse->getCode());
         }
         $searchResponse = json_decode($httpResponse->getResponse());
         return $searchResponse;
     } catch (HttpException $e) {
         throw new HttpException($e->getMessage());
     } catch (Exception $e) {
         throw new AccountException($e->getMessage(), $e->getCode());
     }
 }
 public function search(SearchRequest $request)
 {
     $query = $request->input('search');
     $posts = Posts::where('title', 'LIKE', '%' . $query . '%')->paginate(10);
     // if(!$posts)
     // {
     //     return redirect('/')->withErrors('requested articles not found');
     // }
     //return view('posts.search', compact('articles','query'))->withPosts($articles)->withTitle($title);
     return view('posts.search')->withPosts($posts)->withTitle($query);
     // return view('posts.search', compact('posts','query'));
 }
 /**
  * Starts a autocomplete search
  * @param string $sSearchString Reference to given search string
  * @param boolean $vNsSearch bool always false
  * @return array Array of Apache_Solr_Documents
  */
 private static function searchAutocomplete(&$sSearchString, &$vNsSearch)
 {
     $oSerachService = SearchService::getInstance();
     $oSearchRequest = new SearchRequest();
     $oSearchRequest->init();
     $oSearchOptions = new SearchOptions($oSearchRequest, RequestContext::getMain());
     $oSearchOptions->readInSearchRequest();
     $sSearchString = urldecode($sSearchString);
     $sSolrSearchString = self::preprocessSearchInput($sSearchString);
     $aQuery = $oSearchOptions->getSolrAutocompleteQuery($sSearchString, $sSolrSearchString);
     try {
         $oHits = $oSerachService->search($aQuery['searchString'], $aQuery['offset'], $aQuery['searchLimit'], $aQuery['searchOptions']);
     } catch (Exception $e) {
         return '';
     }
     $oDocuments = $oHits->response->docs;
     if ($aQuery['namespace'] !== false) {
         $vNsSearch = $aQuery['namespace'];
     }
     $bEscalateToFuzzy = $oHits->response->numFound == 0;
     // boolean!
     // Escalate to fuzzy
     if ($bEscalateToFuzzy) {
         $oSearchOptions->setOption('scope', 'title');
         $aFuzzyQuery = $oSearchOptions->getSolrFuzzyQuery($sSolrSearchString);
         $aFuzzyQuery['searchLimit'] = BsConfig::get('MW::ExtendedSearch::AcEntries');
         $aFuzzyQuery['searchOptions']['facet'] = 'off';
         $aFuzzyQuery['searchOptions']['hl'] = 'off';
         try {
             $oHits = $oSerachService->search($aFuzzyQuery['searchString'], $aFuzzyQuery['offset'], $aFuzzyQuery['searchLimit'], $aFuzzyQuery['searchOptions']);
         } catch (Exception $e) {
             return '';
         }
         $oDocuments = $oHits->response->docs;
     }
     return $oDocuments;
 }