/** * Build request for an analysis query * * @param QueryInterface|Query $query * @return Request */ public function build(QueryInterface $query) { $request = parent::build($query); $request->addParam('analysis.query', $query->getQuery()); $request->addParam('analysis.showmatch', $query->getShowMatch()); return $request; }
/** * Build request for a ping query * * @param QueryInterface|Query $query * @return Request */ public function build(QueryInterface $query) { $request = parent::build($query); $request->setMethod(Request::METHOD_GET); $request->addParam('ids', implode(',', $query->getIds())); return $request; }
/** * Build request for an update query * * @param UpdateQuery $query * @return Request */ public function build(QueryInterface $query) { $request = parent::build($query); $request->setMethod(Request::METHOD_POST); $request->setRawData($this->getRawData($query)); return $request; }
/** * Overrides \Solarium\Core\Query\RequestBuilder::build(). */ public function build(QueryInterface $query) { $request = parent::build($query); $request->addParam('wt', 'json'); $request->addParam('omitHeader', 'true'); return $request; }
/** * Build request for a select query * * @param SelectQuery $query * @return Request */ public function build(QueryInterface $query) { $request = parent::build($query); // add basic params to request $request->addParam('q', $this->renderLocalParams($query->getQuery(), array('tag' => $query->getTags()))); $request->addParam('start', $query->getStart()); $request->addParam('rows', $query->getRows()); $request->addParam('fl', implode(',', $query->getFields())); $request->addParam('q.op', $query->getQueryDefaultOperator()); $request->addParam('df', $query->getQueryDefaultField()); // add sort fields to request $sort = array(); foreach ($query->getSorts() as $field => $order) { $sort[] = $field . ' ' . $order; } if (count($sort) !== 0) { $request->addParam('sort', implode(',', $sort)); } // add filterqueries to request $filterQueries = $query->getFilterQueries(); if (count($filterQueries) !== 0) { foreach ($filterQueries as $filterQuery) { $fq = $this->renderLocalParams($filterQuery->getQuery(), array('tag' => $filterQuery->getTags())); $request->addParam('fq', $fq); } } // add components to request foreach ($query->getComponents() as $component) { $componentBuilder = $component->getRequestBuilder(); if ($componentBuilder) { $request = $componentBuilder->buildComponent($component, $request); } } return $request; }
/** * Overrides \Solarium\Core\Query\RequestBuilder::build(). */ public function build(QueryInterface $query) { $request = parent::build($query); $request->addParam('numTerms', 0)->addParam('json.nl', 'map'); //$request->setMethod(Request::METHOD_GET); return $request; }
/** * Build request for a Suggester query * * @param QueryInterface|Query $query * @return Request */ public function build(QueryInterface $query) { $request = parent::build($query); $request->addParam('spellcheck', 'true'); $request->addParam('q', $query->getQuery()); $request->addParam('spellcheck.dictionary', $query->getDictionary()); $request->addParam('spellcheck.count', $query->getCount()); $request->addParam('spellcheck.onlyMorePopular', $query->getOnlyMorePopular()); $request->addParam('spellcheck.collate', $query->getCollate()); return $request; }
/** * Build the request * * @throws RuntimeException * @param Query|QueryInterface $query * @return Request */ public function build(QueryInterface $query) { $request = parent::build($query); $request->setMethod(Request::METHOD_POST); // add common options to request $request->addParam('commit', $query->getCommit()); $request->addParam('commitWithin', $query->getCommitWithin()); $request->addParam('uprefix', $query->getUprefix()); $request->addParam('lowernames', $query->getLowernames()); $request->addParam('defaultField', $query->getDefaultField()); $request->addParam('extractOnly', $query->getExtractOnly()); foreach ($query->getFieldMappings() as $fromField => $toField) { $request->addParam('fmap.' . $fromField, $toField); } // add document settings to request if (($doc = $query->getDocument()) != null) { if ($doc->getBoost() !== null) { throw new RuntimeException('Extract does not support document-level boosts, use field boosts instead.'); } // literal.* foreach ($doc->getFields() as $name => $value) { $value = (array) $value; foreach ($value as $multival) { $request->addParam('literal.' . $name, $multival); } } // boost.* foreach ($doc->getFieldBoosts() as $name => $value) { $request->addParam('boost.' . $name, $value); } } // add file to request $file = $query->getFile(); if (preg_match('/^(http|https):\\/\\/(.+)/i', $file)) { $request->addParam('stream.url', $file); } else { if (is_readable($file)) { $request->setFileUpload($file); $request->addParam('resource.name', basename($query->getFile())); $request->addHeader('Content-Type: multipart/form-data'); } else { throw new RuntimeException('Extract query file path/url invalid or not available'); } } return $request; }
public function build(QueryInterface $query) { /** @var Query $query */ $request = parent::build($query); $request->setMethod(Request::METHOD_GET); $request->addParam('command', $query->getCommand()); $request->addParam('clean', $query->getClean()); $request->addParam('commit', $query->getCommit()); $request->addParam('optimize', $query->getOptimize()); $request->addParam('debug', $query->getDebug()); $request->addParam('verbose', $query->getVerbose()); if ($query->getEntity()) { $request->addParam('entity', $query->getEntity()); } foreach ($query->getCustomParameters() as $key => $value) { $request->addParam($key, $value); } return $request; }
/** * Build request for a Terms query * * @param QueryInterface|Query $query * @return Request */ public function build(QueryInterface $query) { $request = parent::build($query); $request->setHandler($query->getHandler()); $request->addParam('terms', true); $request->addParam('terms.lower', $query->getLowerbound()); $request->addParam('terms.lower.incl', $query->getLowerboundInclude()); $request->addParam('terms.mincount', $query->getMinCount()); $request->addParam('terms.maxcount', $query->getMaxCount()); $request->addParam('terms.prefix', $query->getPrefix()); $request->addParam('terms.regex', $query->getRegex()); $request->addParam('terms.limit', $query->getLimit()); $request->addParam('terms.upper', $query->getUpperbound()); $request->addParam('terms.upper.incl', $query->getUpperboundInclude()); $request->addParam('terms.raw', $query->getRaw()); $request->addParam('terms.sort', $query->getSort()); foreach ($query->getFields() as $field) { $request->addParam('terms.fl', trim($field)); } foreach ($query->getRegexFlags() as $flag) { $request->addParam('terms.regex.flag', trim($flag)); } return $request; }
/** * Build request for a ping query * * @param QueryInterface|Query $query * @return Request */ public function build(QueryInterface $query) { $request = parent::build($query); $request->setMethod(Request::METHOD_GET); return $request; }