29 static public function start($table =
'', $param = [], $checkHealthy =
false) {
31 $table = $GLOBALS[
'site'] ? $GLOBALS[
'site']->pageTable :
'';
33 switch ($GLOBALS[
'egotec_conf'][
'search_engine']) {
35 require_once(
'base/Ego_Search_Mysql.php');
36 return new Ego_Search_Mysql($table);
38 require_once(
'base/Ego_Search_Simple.php');
39 return new Ego_Search_Simple($table);
41 require_once(
'base/Ego_Search_Lucene.php');
42 return new Ego_Search_Lucene($table, $param);
44 require_once(
'base/Ego_Search_Elastic.php');
48 require_once(
'base/Ego_Search_Sql.php');
62 public static function updateIndex($sites = [], $lang =
'', $output =
true) {
63 $db = new_db_connection();
67 foreach ($sites as $site) {
71 $langs = $site->getLanguages();
73 foreach ($langs as $l) {
74 $site->setLanguage($l);
77 Ego_System::flush(
"<br/>\nBearbeite Mandant '" . $site->name .
"' mit Sprache '$l'");
81 if (!$_REQUEST[
'start']) {
85 $search_engine->reset();
89 if ($_REQUEST[
'limit']) {
90 $query[
'limit'] = $_REQUEST[
'start'] .
',' . $_REQUEST[
'limit'];
91 $query[
'order'] =
'id ASC';
93 $pages = $site->getPages(
103 foreach ($pages as $page) {
109 if ($GLOBALS[
'egotec_conf'][
'search_engine'] ==
'elastic') {
110 $bulk_pages[] = $page;
111 if (
sizeof($bulk_pages) == 20) {
112 $search->updateBulk($bulk_pages,
false);
116 $page->updateIndex($search_engine,
false,
false);
121 if ($GLOBALS[
'egotec_conf'][
'search_engine'] ==
'elastic' &&
sizeof($bulk_pages) > 0) {
122 $search->updateBulk($bulk_pages,
false);
125 if (!in_array($GLOBALS[
'egotec_conf'][
'search_engine'], [
'lucene',
'elastic'])) {
129 $db->optimize($site->name .
'_' . $l .
'_fulltext');
132 if ($_REQUEST[
'auto'] && $next && !$_REQUEST[
'allsites']) {
133 $request_uri = str_replace(
'start=' . $_REQUEST[
'start'],
'start=' . ($_REQUEST[
'start'] + $_REQUEST[
'limit']), $_SERVER[
'REQUEST_URI']);
135 Ego_System::flush(
"<script type=\"text/javascript\">document.location.href = \"" . $request_uri .
"\";</script>");
static updateIndex($sites=[], $lang='', $output=true)
static start($table='', $param=[], $checkHealthy=false)
static getAllSites($username='', $perm='', $table=false, $type='')