summaryrefslogtreecommitdiff
path: root/src/engine
diff options
context:
space:
mode:
authorYuriy Andamasov <yuriy@vyos.io>2026-05-22 10:43:48 +0300
committerYuriy Andamasov <yuriy@vyos.io>2026-05-22 10:43:48 +0300
commit77fdd523554e18abc3a834bbd52527f015bc4aa8 (patch)
tree379777dc790c25af69e7710b60d3bb8e891ac531 /src/engine
parentea323c862121e2b309f526d5027a511b8d61e906 (diff)
downloadphorge-elasticsearch-modern-77fdd523554e18abc3a834bbd52527f015bc4aa8.tar.gz
phorge-elasticsearch-modern-77fdd523554e18abc3a834bbd52527f015bc4aa8.zip
Add VyOSElasticModernHost + placeholder engine stub
Host class mirrors PhabricatorElasticsearchHost's surface. Engine is a stub providing only getEngineIdentifier() and getHostType() so the host's tests can construct an engine instance; real engine implementation lands in subsequent commits. All six abstract methods of PhabricatorFulltextStorageEngine are implemented (four as throwing stubs to be replaced in E7/E8). .arcconfig gains "src/" in the load list so arc unit can discover the extension library; test case extends PhutilTestCase (no DB needed for pure-PHP host property assertions). 🤖 Generated by [robots](https://vyos.io)
Diffstat (limited to 'src/engine')
-rw-r--r--src/engine/VyOSElasticModernFulltextStorageEngine.php40
1 files changed, 40 insertions, 0 deletions
diff --git a/src/engine/VyOSElasticModernFulltextStorageEngine.php b/src/engine/VyOSElasticModernFulltextStorageEngine.php
new file mode 100644
index 0000000..d10bac7
--- /dev/null
+++ b/src/engine/VyOSElasticModernFulltextStorageEngine.php
@@ -0,0 +1,40 @@
+<?php
+
+/**
+ * Placeholder for the engine class. Real implementation grows in Phase 3-4.
+ * Tasks E1-E8 replace the throwing stubs below with working code.
+ */
+class VyOSElasticModernFulltextStorageEngine
+ extends PhabricatorFulltextStorageEngine {
+
+ public function getEngineIdentifier() {
+ return 'elasticsearch-modern';
+ }
+
+ public function getHostType() {
+ return new VyOSElasticModernHost($this);
+ }
+
+ public function reindexAbstractDocument(
+ PhabricatorSearchAbstractDocument $doc) {
+ throw new Exception(pht(
+ 'reindexAbstractDocument() is not yet implemented on '.
+ 'VyOSElasticModernFulltextStorageEngine; lands in Task E7.'));
+ }
+
+ public function executeSearch(PhabricatorSavedQuery $query) {
+ throw new Exception(pht(
+ 'executeSearch() is not yet implemented; lands in Task E8.'));
+ }
+
+ public function indexExists() {
+ throw new Exception(pht(
+ 'indexExists() is not yet implemented; lands in Task E8.'));
+ }
+
+ public function getIndexStats() {
+ throw new Exception(pht(
+ 'getIndexStats() is not yet implemented; lands in Task E8.'));
+ }
+
+}