Page MenuHomePhorge

PhabricatorFulltextEngine.php
No OneTemporary

Size
1 KB
Referenced Files
None
Subscribers
None

PhabricatorFulltextEngine.php

<?php
abstract class PhabricatorFulltextEngine
extends Phobject {
private $object;
public function setObject($object) {
$this->object = $object;
return $this;
}
public function getObject() {
return $this->object;
}
protected function getViewer() {
return PhabricatorUser::getOmnipotentUser();
}
abstract protected function buildAbstractDocument(
PhabricatorSearchAbstractDocument $document,
$object);
final public function buildFulltextIndexes() {
$object = $this->getObject();
$extensions = PhabricatorFulltextEngineExtension::getAllExtensions();
foreach ($extensions as $key => $extension) {
if (!$extension->shouldIndexFulltextObject($object)) {
unset($extensions[$key]);
}
}
$document = $this->newAbstractDocument($object);
$this->buildAbstractDocument($document, $object);
foreach ($extensions as $extension) {
$extension->indexFulltextObject($object, $document);
}
$storage_engine = PhabricatorFulltextStorageEngine::loadEngine();
$storage_engine->reindexAbstractDocument($document);
}
protected function newAbstractDocument($object) {
$phid = $object->getPHID();
return id(new PhabricatorSearchAbstractDocument())
->setPHID($phid)
->setDocumentType(phid_get_type($phid));
}
}

File Metadata

Mime Type
text/x-php
Expires
Tue, Jul 1, 5:10 PM (1 d, 17 h)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
286543
Default Alt Text
PhabricatorFulltextEngine.php (1 KB)

Event Timeline