$result =
$result[0
];
$last = !
empty($result['last'
]) ?
unserialize($result['last'
],
['allowed_classes' => false
]) : null;
if (empty($last) ||
empty($result['not_force'
]) ||
strtotime($last) <
strtotime($result['current'
]) -
$interval) { $this->
build();
} } public function build() { MemoryLimit::
setMinimumMemoryLimit(1024 * 1024 * 512
);
@
set_time_limit(0
);
$this->
setNextUpdateTimestamp();
// Truncate search index table (using DELETE to avoid committing database transactions in tests)
$this->connection->
executeStatement('DELETE FROM `s_search_index`'
);
// Get a list of all tables and columns in this tables that should be processed by search
/**
* Example return:
* tableID | table | where | reference_table | fieldIDs | fields | foreign_key
* 1 | s_articles | NULL | NULL | 3,4 | name, keywords | NULL
* 2 | s_categories | NULL | s_articles_categories | 1,2 | metakeywords, description | categoryID
*/