summaryrefslogtreecommitdiff
path: root/vendor/ruflin/elastica/lib/Elastica/Rescore
diff options
context:
space:
mode:
authorPierre Schmitz <pierre@archlinux.de>2015-12-17 09:15:42 +0100
committerPierre Schmitz <pierre@archlinux.de>2015-12-17 09:44:51 +0100
commita1789ddde42033f1b05cc4929491214ee6e79383 (patch)
tree63615735c4ddffaaabf2428946bb26f90899f7bf /vendor/ruflin/elastica/lib/Elastica/Rescore
parent9e06a62f265e3a2aaabecc598d4bc617e06fa32d (diff)
Update to MediaWiki 1.26.0
Diffstat (limited to 'vendor/ruflin/elastica/lib/Elastica/Rescore')
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Rescore/AbstractRescore.php36
-rw-r--r--vendor/ruflin/elastica/lib/Elastica/Rescore/Query.php91
2 files changed, 127 insertions, 0 deletions
diff --git a/vendor/ruflin/elastica/lib/Elastica/Rescore/AbstractRescore.php b/vendor/ruflin/elastica/lib/Elastica/Rescore/AbstractRescore.php
new file mode 100644
index 00000000..0839424d
--- /dev/null
+++ b/vendor/ruflin/elastica/lib/Elastica/Rescore/AbstractRescore.php
@@ -0,0 +1,36 @@
+<?php
+namespace Elastica\Rescore;
+
+use Elastica\Param;
+
+/**
+ * Abstract rescore object. Should be extended by all rescorers.
+ *
+ * @author Jason Hu <mjhu91@gmail.com>
+ *
+ * @link http://www.elastic.co/guide/en/elasticsearch/reference/current/search-request-rescore.html
+ */
+abstract class AbstractRescore extends Param
+{
+ /**
+ * Overridden to return rescore as name.
+ *
+ * @return string name
+ */
+ protected function _getBaseName()
+ {
+ return 'rescore';
+ }
+
+ /**
+ * Sets window_size.
+ *
+ * @param int $size
+ *
+ * @return $this
+ */
+ public function setWindowSize($size)
+ {
+ return $this->setParam('window_size', $size);
+ }
+}
diff --git a/vendor/ruflin/elastica/lib/Elastica/Rescore/Query.php b/vendor/ruflin/elastica/lib/Elastica/Rescore/Query.php
new file mode 100644
index 00000000..3b0a1071
--- /dev/null
+++ b/vendor/ruflin/elastica/lib/Elastica/Rescore/Query.php
@@ -0,0 +1,91 @@
+<?php
+namespace Elastica\Rescore;
+
+use Elastica\Query as BaseQuery;
+
+/**
+ * Query Rescore.
+ *
+ * @author Jason Hu <mjhu91@gmail.com>
+ *
+ * @link http://www.elastic.co/guide/en/elasticsearch/reference/current/search-request-rescore.html
+ */
+class Query extends AbstractRescore
+{
+ /**
+ * Constructor.
+ *
+ * @param string|\Elastica\Query\AbstractQuery $rescoreQuery
+ * @param string|\Elastica\Query\AbstractQuery $query
+ */
+ public function __construct($query = null)
+ {
+ $this->setParam('query', array());
+ $this->setRescoreQuery($query);
+ }
+
+ /**
+ * Override default implementation so params are in the format
+ * expected by elasticsearch.
+ *
+ * @return array Rescore array
+ */
+ public function toArray()
+ {
+ $data = $this->getParams();
+
+ if (!empty($this->_rawParams)) {
+ $data = array_merge($data, $this->_rawParams);
+ }
+
+ return $data;
+ }
+
+ /**
+ * Sets rescoreQuery object.
+ *
+ * @param string|\Elastica\Query|\Elastica\Query\AbstractQuery $query
+ *
+ * @return $this
+ */
+ public function setRescoreQuery($rescoreQuery)
+ {
+ $query = BaseQuery::create($rescoreQuery);
+ $data = $query->toArray();
+
+ $query = $this->getParam('query');
+ $query['rescore_query'] = $data['query'];
+
+ return $this->setParam('query', $query);
+ }
+
+ /**
+ * Sets query_weight.
+ *
+ * @param float $weight
+ *
+ * @return $this
+ */
+ public function setQueryWeight($weight)
+ {
+ $query = $this->getParam('query');
+ $query['query_weight'] = $weight;
+
+ return $this->setParam('query', $query);
+ }
+
+ /**
+ * Sets rescore_query_weight.
+ *
+ * @param float $size
+ *
+ * @return $this
+ */
+ public function setRescoreQueryWeight($weight)
+ {
+ $query = $this->getParam('query');
+ $query['rescore_query_weight'] = $weight;
+
+ return $this->setParam('query', $query);
+ }
+}