28 static public function start($table =
'', $param = []) {
30 $table = $GLOBALS[
'site'] ? $GLOBALS[
'site']->pageTable :
'';
32 switch ($GLOBALS[
'egotec_conf'][
'search_engine']) {
34 require_once(
'base/Ego_Search_Mysql.php');
35 return new Ego_Search_Mysql($table);
37 require_once(
'base/Ego_Search_Simple.php');
38 return new Ego_Search_Simple($table);
40 require_once(
'base/Ego_Search_Lucene.php');
41 return new Ego_Search_Lucene($table, $param);
43 require_once(
'base/Ego_Search_Elastic.php');
47 require_once(
'base/Ego_Search_Sql.php');
61 public static function updateIndex($sites = [], $lang =
'', $output =
true) {
62 $db = new_db_connection();
66 foreach ($sites as $site) {
70 $langs = $site->getLanguages();
72 foreach ($langs as $l) {
73 $site->setLanguage($l);
76 Ego_System::flush(
"<br/>\nBearbeite Mandant '" . $site->name .
"' mit Sprache '$l'");
79 $search_engine = self::start($site->pageTable);
80 if (!$_REQUEST[
'start']) {
84 $search_engine->reset();
88 if ($_REQUEST[
'limit']) {
89 $query[
'limit'] = $_REQUEST[
'start'] .
',' . $_REQUEST[
'limit'];
90 $query[
'order'] =
'id ASC';
92 $pages = $site->getPages(
102 foreach ($pages as $page) {
108 if ($GLOBALS[
'egotec_conf'][
'search_engine'] ==
'elastic') {
109 $bulk_pages[] = $page;
110 if (
sizeof($bulk_pages) == 100) {
111 $search->updateBulk($bulk_pages);
115 $page->updateIndex($search_engine,
false);
120 if ($GLOBALS[
'egotec_conf'][
'search_engine'] ==
'elastic' &&
sizeof($bulk_pages) > 0) {
121 $search->updateBulk($bulk_pages);
124 if ($GLOBALS[
'egotec_conf'][
'search_engine'] !=
'lucene') {
128 $db->optimize($site->name .
'_' . $l .
'_fulltext');
131 if ($_REQUEST[
'auto'] && $next && !$_REQUEST[
'allsites']) {
132 $request_uri = str_replace(
'start=' . $_REQUEST[
'start'],
'start=' . ($_REQUEST[
'start'] + $_REQUEST[
'limit']), $_SERVER[
'REQUEST_URI']);
134 Ego_System::flush(
"<script type=\"text/javascript\">document.location.href = \"" . $request_uri .
"\";</script>");
static start($table='', $param=[])
static getAllSites($username='', $perm='', $table=false, $type='')
static updateIndex($sites=[], $lang='', $output=true)