Page MenuHomePhabricator
Diviner Phabricator Tech Docs PhabricatorFulltextStorageEngine

abstract class PhabricatorFulltextStorageEngine
Phabricator Technical Documentation (Search)

Base class for Phabricator search engine providers. Each engine must offer three capabilities: indexing, searching, and reconstruction (this can be stubbed out if an engine can't reasonably do it, it is used for debugging).

Methods

abstract public function getEngineIdentifier()

Return a unique, nonempty string which identifies this storage engine.

Return
stringUnique string for this engine, max length 32.

abstract public function getEnginePriority()

Prioritize this engine relative to other engines.

Engines with a smaller priority number get an opportunity to write files first. Generally, lower-latency filestores should have lower priority numbers, and higher-latency filestores should have higher priority numbers. Setting priority to approximately the number of milliseconds of read latency will generally produce reasonable results.

In conjunction with filesize limits, the goal is to store small files like profile images, thumbnails, and text snippets in lower-latency engines, and store large files in higher-capacity engines.

Return
floatEngine priority.

abstract public function isEnabled()

Return true if the engine is currently writable.

Engines that are disabled or missing configuration should return false to prevent new writes. If writes were made with this engine in the past, the application may still try to perform reads.

Return
boolTrue if this engine can support new writes.

abstract public function reindexAbstractDocument($document)

Update the index for an abstract document.

Parameters
PhabricatorSearchAbstractDocument$documentDocument to update.
Return
void

abstract public function reconstructDocument($phid)

Reconstruct the document for a given PHID. This is used for debugging and does not need to be perfect if it is unreasonable to implement it.

Parameters
phid$phidDocument PHID to reconstruct.
Return
PhabricatorSearchAbstractDocumentAbstract document.

abstract public function executeSearch($query)

Execute a search query.

Parameters
PhabricatorSavedQuery$queryA query to execute.
Return
listA list of matching PHIDs.

abstract public function indexExists()

Does the search index exist?

Return
bool

public function indexIsSane()

Is the index in a usable state?

Return
bool

public function initIndex()

Do any sort of setup for the search index.

Return
void

public static function loadAllEngines()

This method is not documented.
Return
wild

public static function loadActiveEngines()

This method is not documented.
Return
wild

public static function loadEngine()

This method is not documented.
Return
wild