summaryrefslogtreecommitdiff
path: root/src/engine/VyOSElasticModernFulltextStorageEngine.php
diff options
context:
space:
mode:
authorYuriy Andamasov <yuriy@andamasov.com>2026-05-23 14:22:38 +0300
committerGitHub <noreply@github.com>2026-05-23 14:22:38 +0300
commitc75bb17724896fb0eff97fcefce01c3a2ce9d049 (patch)
treeded9334a63052323a074c3531273ee1c667f8855 /src/engine/VyOSElasticModernFulltextStorageEngine.php
parent830ea6cff237235f3b0f21c58d54f062656eee45 (diff)
parented0dee0333acf8a1c79845bba6455506c8210bad (diff)
downloadphorge-elasticsearch-modern-c75bb17724896fb0eff97fcefce01c3a2ce9d049.tar.gz
phorge-elasticsearch-modern-c75bb17724896fb0eff97fcefce01c3a2ce9d049.zip
Merge pull request #4 from vyos/task/e1-setversion
E1: Add setVersion() with strict validation
Diffstat (limited to 'src/engine/VyOSElasticModernFulltextStorageEngine.php')
-rw-r--r--src/engine/VyOSElasticModernFulltextStorageEngine.php25
1 files changed, 25 insertions, 0 deletions
diff --git a/src/engine/VyOSElasticModernFulltextStorageEngine.php b/src/engine/VyOSElasticModernFulltextStorageEngine.php
index f11eeab..2570311 100644
--- a/src/engine/VyOSElasticModernFulltextStorageEngine.php
+++ b/src/engine/VyOSElasticModernFulltextStorageEngine.php
@@ -7,6 +7,31 @@
abstract class VyOSElasticModernFulltextStorageEngine
extends PhabricatorFulltextStorageEngine {
+ private $version = null;
+
+ public function setVersion($version) {
+ $version = (int)$version;
+ if ($version < 7) {
+ throw new Exception(
+ pht(
+ 'Unsupported Elasticsearch version "%d" for the '.
+ '"elasticsearch-modern" engine. This engine supports version 7 '.
+ 'and above (Elasticsearch 7.x, 8.x, or OpenSearch 1.x/2.x/3.x). '.
+ 'For ES 5.x, use the bundled "elasticsearch" engine instead.',
+ $version));
+ }
+ $this->version = $version;
+ return $this;
+ }
+
+ public function getVersion() {
+ if ($this->version === null) {
+ throw new Exception(
+ pht('Version not configured; call setVersion() or setService() first.'));
+ }
+ return $this->version;
+ }
+
public function getEngineIdentifier() {
return 'elasticsearch-modern';
}