Sie sind hier : Homepage →  TYPO3 CMS - Info+Install→  Typo3 (5) mnogo + Suchmasch.→  Mnogo - die Erste

Dieser Artikel ist im Dezember 2009 angefangen worden -
und im Feb 2012 für Suse 12.1 64Bit nachgearbeitet.

Das ist ein Protokoll mit Kommentaren zur Installation der mnogosearch  3.3.9 Suchmaschine auf Suse Linux Servern (Suse 10 und Suse 11/32 und 64 und Suse 12.1/64Bit).

10 - Unter Suse 12.3/64Bit läuft die Engine super schnell

Feb. 2012 - Ich habe alles versucht, sogar auf mehreren unterschiedlich konfigurierten Opensuse 11.4/64Bit Rechnern (alles virtuelle Maschinen), der mnogosearch Indexer indiziert zwar alle Pages, doch die Typo3 Suchseite zeigt keine Ergebnisse an. Damit ist die Suse 11.4 für uns tot. Die völlig gleiche Kopie auf einer Suse 12.1 VM dagegen läuft auf Anhieb mit der duplizierten Installation von der 11.4 VM.

.

50 - Das Manual von Dmitry Dulepov für mnogosearch-3.3.9

Wenn man es denn geschnallt hat, und das ist bei der (meiner) vollgestopften "Birne" mit allen nur möglich Suse Linux-, Typo3- und Web-Applikations- problemen und dazu den Content Gedanken (meiner Webs) gar nicht mehr leicht, dann ist es klar. Für die, die es auch einfacher haben möchten, sind diese Seiten geschrieben.

  • Also ganz zuerst und wichtig : Man muß diese externe mnogosearch Suchmaschine unter Linux installieren. Das hat mit Typo3 erstmal gar nichts zu tun !!!!!!!


Diese "externe" Suchmaschine (nämlich ausserhalb von typo3 auf Linux-Systemebene) muß auf dem Server (nur einmal !!) und zwar global (für alle späteren Webs) installiert werden. Dazu gibt es diese fertig gepackte Source-Datei (mnogosearch-3.3.9.tar.gz). Hat auch mit Typo3 nichts zu tun !!!

Doch vorher muß per Anleitung aus dem Handbuch (das ist wiederum in der mnogosearch Extension enthalten) das jeweilige Linux um einige notwendige System-Tools erweitert werden. Und davor muß man sich erst mal den sxw Viewer auf der Win-Workstation installieren, um das Handbuch überhaupt lesen zu können. Ui ui ui.

60 - So hatte es angefangen : Linux vorbereiten - inzwischen haben wir die Suse 12.1 / 64Bit als VM erfolgreich am Laufen.

Suse Linux muss vorher erst "aufgebohrt" oder erweitert werden. Kleines Schmankerl zum Ärgern: Suse 10.3 wird seit Okt 2009 nicht mehr unterstützt und schwups . . sind auch alle Repositorys gelöscht- das ist s..........

Also musste ich damals auf einen Suse 11.1er Server ausweichen (inzwischen Suse 12.1/64) und mit YAST diese Pakete hier prüfen bzw. installieren:

  • make
  • automake
  • autoconf (wird bei Suse automatisch mit selectiert)
  • gcc
  • php5-devel (ich installiere immer auch die 32bit Version)
  • mysql (ist bei Typo3 Servern sowieso dabei)
  • mysql-devel (libmysqlclient15-dev for Debian, libmysqlclient-devel for SuSE)
  • zlib
  • zlib-devel
  • mc (midnight commander is not needed if you want to use editor other than mcedit - zum Beispiel vi oder bei uns der "joe")

-
Ab Feb 2012 sollte auch dieses hier gemacht werden

Is there a special trick to let yast upgrade php onto 5.3.10 ?

If you can't wait.

zypper ar -f -r download.opensuse.org/repositories/server:/php/openSUSE_12.1/server:php.repo
zypper ref
zypper in --from server_php php5

hat funktioniert !

70 - Zuerst wird die eigentliche (externe) Engine compiliert.

Hintergrund: Vermutlich ist es doch zu kompliziert, für alle Linux Varianten und Installationen eine generelle fertige Version z.B. als RPM bereit zu stellen. Darum kommt auf dem Zielsystem erst mal dies "configure" hier, damit wird das Zielsystem analysiert und die "make" Konfiguration(s-Datei) vervollständigt. Vorteil: danach läuft das dann alles problemlos. (eigentlich eine zwar gesunde aber aufwendige Lösung)

Der Weg dahin: (jetzt auch mit der 64 Bit Opensuse 11.4)

Die Datei "mnogosearch-3.3.9.tr-gz" wird in /tmp/ ausgepackt mit

tar xzfv mnogosearch-3xxxxxxx

und in /tmp/mnogosearch-3.3.9 die Datei "configure.in" editiert
Grund: wir haben mysql und NICHT PostgreSQL

-

  • joe "configure.in"
  • in Zeile 1017 wird nur die 1 zur 0 geändert
  • AC_DEFINE([HAVE_PGSQL], [0],
  • und dort muss jetzt der Wert 0 stehen (also kein PostgreSQL !!):
  • und jetzt abspeichern  !!

-
und (bei mir) weiter in "configure"
-

  • joe configure
  • auch hier in der Zeile 26.547 wird nur die 1 zur 0 geändert
  • #define HAVE_PGSQL 0
    und dort muss jetzt der Wert 0 stehen (also kein PostgreSQL !!):
  • und jetzt abspeichern  !!

-
und jetzt gehts los mit ./configure und jeder Menge Options laut Handbuch . . .

Der Trick ist, die 4 Zeilen (aus dem Dmitry Handbuch) mit den vielen Optionen müssen !!! in eine Zeile rein, und das bittte ohne Zeilen-Umbruch oder "truncate" !!!

Ich habe das im Notepad++ wieder zu einer !! Zeile zusammengebaut.

./configure --prefix=/opt/mnogosearch --disable-mp3 --disable-news --without-debug --with-pgsql=no --with-freetds=no --with-oracle8=no --with-oracle8i=no --with-iodbc=no --with-unixODBC=no --with-db2=no --with-solid=no --with-openlink=no --with-easysoft=no --with-sapdb=no --with-ibase=no --with-ctlib=no --with-zlib --with-mysql --disable-syslog

Klappt das nicht, wird nur Murks kompiliert. !! Am Ende muss das hier kommen: (keine Warnings, keine Errors)

***********************************************************
*     Now run make && make install
*     If it fails, try to use GNU make
*     often installed as gmake
*
*            Thank you for using mnoGoSearch!
***********************************************************

Als nächstes soll in "include/udm_autoconf.h" diese Zeile (bei uns die Zeile 133) aktiviert werden (also die Kommentarzeichen /* und */ müssen entfernt werden)

joe ./include/udm_autoconf.h

/* Define if you want to use PostgreSQL */
#undef HAVE_PGSQL
und abspeichern.



jetzt "make" aufrufen

und jetzt kommen seitenweise Textausgaben fast ohne Ende und irgendwann ist es zuende.

jetzt "make install" aufrufen

Keine Fehler ? dann Stufe 1 fertig.

80 - Als Zweites kommt die PHP Compile-Session.

Das bisher war die Engine. - Jetzt kommt die PHP extension

also cd php

phpize


hier sehen wir 2 "Warnings", die ignorieren wir.

dann

./configure --with-mnogosearch=/opt/mnogosearch

am Ende der Textausgaben kommt:

creating libtool
appending configuration tag "CXX" to libtool
configure: creating ./config.status
config.status: creating config.h

Unter 64bit Opensuse 11.4_86_64 und auch 12.1/64 stimmt das auch noch. Kommt das nicht, gab es vorher einen Fehler.

wir sind jetzt bereits in /php

In diesem Verzeichnis in der Datei php_mnogo.c in so ziemlich der 3. Zeile nach den Anfangskommentaren direkt unter der Zeile #include "php.h" -

diese folgende Zeile hier einfügen:

#undef HAVE_PGSQL

auch hier jetzt wieder

make

aufrufen - es geht diesmal schnell

erforderliches Ergebnis:

Build complete.
Don't forget to run 'make test'.

Fertig.

Nachtrag: Diese selbst kompilierten Module haben alle schon die richtigen root:root User sowie die Ausführ-Rechte. Jan 2012 - Mit Suse 11.4. hat es funktioniert.

Nochmal zur Ergänzung. Ich habe die 32 Bit Compiler Module mit Yast nachinstalliert, die gcc und c++. Ob das wirklich notwendig war, ist mir zu mühsam herauszufinden.

Diese Suse 11.4/64bit mnogosearch-engine hat jetzt 162529 Byte, die alte mnogo Version Suse 11.1/32 Bit hatte nur 107842 Byte.

Nachtrag: Feb 2012 - mit Suse 12.1/64Bit hat das Compilieren auch geklappt.
Diese Suse 12.1/64bit mnogosearch-engine hat jetzt 153104 Byte

82 - Jetzt sind alle mnogosearch System Module auf Linux Ebene fertig als Version 3.3.9-suse-12.1-64

Ab hier gehts weiter, wenn diese beiden Compiler-Vorgänge bereits auf einem anderen (Suse 10 oder 11 -) Server durchgelaufen sind und einfach nur (!! als tar gepackt - wegen der permissions!!) rüber kopiert worden sind.

84 - (Feb. 2012) Die fertig kompilierten mnogosearch Programme für Suse 11.1/32Bit und 12.1/64 gibts auf Anfrage.

Wenn Sie auch auf Suse Linux 11.1 oder 12.1 arbeiten, ich habe das alles als

mnogosearch-3.3.9-suse-11.1-32-kompilat.tar.gz
mnogosearch-3.3.9-suse-12.1-64-kompilat.tar.gz

fertig und schiebe die "tar.gz"-Datei !!! (wegen der Linux Attribute/Permissions) mit winscp immer auf den neu einzurichtenden Zielserver drauf und packe sie dort aus. Hier ist ein Anfrageformular.

Wichtig: Nach dem Kopieren aus dem "home" Verzeichnis in /opt/mnogosearch/ müssen Sie "owner und group" wieder auf "root:root" setzen sowie auch die Ausführbarkeit der Dateien überprüfen.

85 - wenn die fertig kompilierten Module auf einer 2. VM nicht laufen

dann fehlt eines ??? dieser Module :

mysql-devel (libmysqlclient15-dev for Debian, libmysqlclient-devel for SuSE)

das hatte ich zum Kompilieren dann nochmal nachinstalliert, die ganze Geschichte noch mal kompiliert und schon lief der Apache nach dem Eintrag in die php.ini. Ich hatte also vorher irgend etwas vergesssen.
Welches Modul wirklich fehlt muss ich noch rausfinden.

86 - mnogosearch Linux Modul in PHP und Apache einbinden

========================================================
86/1. PHP Extension Verzeichnis herausfinden:

Wo das Verzeichnis liegt, sagt dieses Kommando:

php -i | grep extension_dir
-

  • bei uns unter Suse 11.1/32Bit liegt es hier:
    extension_dir => /usr/lib/php5/extensions => /usr/lib/php5/extensions
  • bei uns unter Suse 64Bit liegt es hier:
    extension_dir => /usr/lib64/php5/extensions => /usr/lib64/php5/extensions

-

mnogosearch.so muß noch kopiert werden !!!!!

86/2. Kopieren der Datei : mnogosearch.so
Nach den ganzen Compile-Läufen liegt jetzt der File "mnogosearch.so" in "/tmp/mnogosearch-3.3.9/php/modules" .

Dieser File muss auf Linux Ebene in's oben ermittelte PHP Extension- Unterverzeichnis kopiert werden.

Bei uns geht das mit dem mc (Midnight-Commander). Und dann nochmal alle Rechte prüfen, denn ausführbar muß diese Datei für Besitzer und Gruppe sein, und dann bitte mit chown auf root:root einstellen.

86/3. Nun noch PHP5 mitteilen, daß es eine (weitere PHP-) Extension hat. (die php.ini editieren)
Als nahezu Letztes muß diese neue Extension noch in die php.ini eingetragen werden. Die php.ini "wohnt" bei Suse in "/etc/php/apache2" oder "/etc/php5/apache2" - dort muß die neue !!! Zeile "extension=mnogosearch.so" noch eingetragen werden.

Ich habe die Extension ziemlich weit unten direkt unter der Zeile eingefügt.

also nach "extension_dir" suchen und dort :

das hier wäre die 32 Bit version
; Directory in which the loadable extensions (modules) reside.
extension_dir = /usr/lib/php5/extensions
extension=mnogosearch.so

Dieser Extension-Eintrag oben ist ganz wichtig
und die Erhöhung des php5 memory-limits auch

Auf das 64bit Verzeichnis achten !!!!!!!! da muß sie rein

Nachtrag für 64Bit Systeme :
extension_dir = /usr/lib64/php5/extensions
extension=mnogosearch.so

88 - Apache Probelauf

Endlich wird der Apache neu gestartet (und zwar in /etc/init.d) und nicht als "rcapache2 restart" !!!

also in /etc/init.d wird

  • ./apache2 stop und dann
  • ./apache2 start


aufgerufen
(nur hier werden auftretende Fehler ausführlich angezeigt) und die Ausgabe auf Fehler beäugt.

Diesmal gabs keine Fehler, - was für ein Gefühl.

Wenn er aber nicht läuft:
/etc/init.d $ ./apache2 start
redirecting to systemctl
Starting httpd2 (prefork)                                                            failed

  • ./apache2 status

 

dann hier wieder einsteigen.

90 - Apche2 Error - Starting httpd2 (prefork) failed

Und wenn Ihnen mitten in einer Umstellung eines ehemals laufenden Systems dieser Fehler kommt:

  • /etc/init.d $ ./apache2 start
  • redirecting to systemctl
  • Starting httpd2 (prefork)   failed
  • /etc/init.d $


Dann schaut man in die Apache Fehlerdatei mit /var/log/apache2 $ tail -f error_log.

(Im "/var/log/apache2/error_log" steht dann Folgendes):
[warn] Init: Session Cache is not configured [hint: SSLSessionCache]
Inconsistency detected by ld.so: dl-open.c: 596: _dl_open: Assertion `_dl_debug_initialize (0, args.nsid)->r_state == RT_CONSISTENT' failed!

denn dann stehen in der /etc/php5/apache2 bereits die Zeilen:

  • ; Directory in which the loadable extensions (modules) reside.
  • extension_dir = /usr/lib/php5/extensions
  • extension=mnogosearch.so


Aber die Module in /opt/mnogosearch/... sind noch gar nicht da oder wieder weg. Obige Zeilen gehören solange auskommentiert, solange das /opt/ Verzeichnis nicht korrekt gefüllt ist.

-

100 - eine eigene mysql Datenbank für den mnogo Index

Der Autor Dmitry schreibt eine eigene Index Datenbank vor, aber NICHT in der dedizierten Typo3 Umgebung, da das Installtool diese eventuell irrtümlich zum Löschen vorschlägt, weil es die nicht kennt. Das sollte noch geändert werden, ist aber zur Zeit so.

Da auf einem Server meist mehrere Domains wohnen können, sollte der jeweilige Domain-Name ansatzweise enthalten sein. Ich hatte hier in meinem Muster-Web "Fernsehmuseum" die Datenbank "femuwi-2010" genannt hatte, erzeuge ich zusätzlich die neue Datenbank "femuwi_mnogo":

Also : Einstieg in die mysql administration auf der Kommandozeile

mysql -u root -p mysql
>
> create database femuwi_mnogo;

Ergebnis: > Query OK, 1 row affected (0.00 sec)

> grant all privileges on femuwi_mnogo.* to 'sqluser'@'localhost' identified by 'superpowercomplexpassword';

>>>> Achten Sie auf die single-quotes !!! wichtig <<<<<<

Query OK, 0 rows affected (0.01 sec)
>
> exit

Natürlich geht das alles auch mit "phpMyAdmin" komfortabel und schnell.

Fertig , nächster Schritt.

120 - Installation der insgesamt 3 !! Extensions

Unsere Typo3-Extensions installiere ich bei uns (sooft es geht) pro Typo3-Version nur einmal als "global". (Das muß vorher im Install Tool freigegeben werden!) (Spezielle Extensions, die bei uns nur selten benutzt werden, werden auch manchmal "local" installiert.)

Beginnen wir mit der "mnogosearch_2.2.2.t3x", der Haupt-Extension Nr.1 (1 von 3).

Bei der Konfiguration dieser neu zu installierenden Extension soll man besonderes Augenmerk auf die Konfig-Zeile im Ext-Manager (Database connection string) legen:

mysql://db_user:db_pass@host/dbname/?dbmode=multi

Diese Zeile müssen Sie in der Eingabemaske der Extension im Ext-Manager natürlich mit den richtigen Variablen ergänzen !!

mysql://der_eben_erzeugte_user:mit_richtigem_pw@localhost/die_oben_erzeugte_db/?dbmode=multi

Danach kommt noch die

2. Extension
(2 von 3) "pagepath_0.1.6.t3x"

und

3. die "Sonder-" Extension (3 von 3), der universal page browser (pagebrowse_1.0.1.t3x). Dieser spezielle Pagebrowser ist ein ergänzende Extension für (oder in) eine(r) Extension!!!!. Er hat nichts zu tun mit dem cag_pagebrowser, den wir auch benutzen !!

122 - Nachtrag Feb. 2010 zur Installation als "global" Extension

Mit dem universal pagebrowser funktioniert(e) es zur Zeit nur local !! Irgendwo ist oder war ein Fehler.
Inzwischen aber ab 17.3.2010 - eine "global" Installation funktioniert irgendwie !! mit der gleichen Version !! Aber wo liegt der Wurm ?? Ich suche noch.

124 - Nachtrag : Noch einen neuen (dummen) User anlegen

Diese mnogosearch Extension benötigt einen (Indexer-CLI = "Command Line Interface")- User "_cli_mnogosearch" mit beliebigem (komplexen) Passwort - achten Sie auch die Unterstriche im Usernamen. (Der Name ist in der Extension fest codiert muß komplett  !! stimmen !!!)

128 - Eine versteckte Seite "Konfigurations-Tools" anlegen und dort ein neues Inhaltselement vom Typ "mnoGoSearch-Indexierungskonfiguration" anlegen:

eine eigene Seite für die Konfig Tools

Ich brauche ein spezielles Inhaltselement (oder mehrere) für die Definition des unteren (des tiefsten) Start-Punktes des mnogosearch Indexers im gewünschten Seitenbaum (bzw. der Seitenbäume wie in unserem zweiten Beispiel) und der evtl. auszuschließenden Subseiten.

Damit ich nicht wieder stundenlang (einen Fehler) suche, lege ich mir diese neue BackEnd "Standard"-Seite (versteckt und im FE unsichtbar) ganz unten in meinem Seitenbaum an. Andere legen die auf der root Seite an, das gefällt mir aber nicht.

Habe ich in dieser Typo3 Umgebung mehrere verschiedene !! Domains (natürlich jeweils mit Domain Record), so muß dieses neue Inhaltselement innerhalb dieser Domain liegen, sonst kann man auch dieses neue Inhaltselement ganz einfach global unterhalb der Weltkugel !!! anlegen. (Das der Eintrag im globalen Seitenbaum ganz ganz oben!! - man lernt ja dazu!)
-

dort oben werden neue Content/Seitenelemente oder Datensätze angelegt

Man klickt also im Backend oben in der grauen Leiste auf den grünen Punkt mit dem weißen Pluszeichen "Neuen Datensatz erstellen". In dem dann aufklappenden Menü muß der Eintrag "mnoGoSearch-Indexierungskonfiguration" erscheinen, sonst ist die mnogosearch Extension nicht korrekt installiert !!!!!!!

130 - Die Konfiguration des "Indexers"

Die Binärbaum Indexstrukturen werden (bei uns jedenfalls) offline des Nachts von Hand oder als cronjob erstellt. Und dem Indexer muß irgendwo gesagt werden, "was" genau er in diese (es sind mehrere) Binärbäume eintragen soll.

Also: In der Listenansicht dieser neuen "Konfigurations-Tools"- Seite klicken Sie auf neuen Datensatz erstellen und dort gibt es jetzt ganz unten nach "Akronym" eine neue Auswahl-Position:

"mnoGoSearch indexing configuration".

Hier erhalten Sie dann eine neue spezielle grafische Web-Oberfläche und hier konfigurieren Sie den unteren Einstiegspunkt des zu indizierenden Seitenbaums. (bei unserem Beispiel ab der root Seite = http: //www.fernsehmuseum.info/ ) und laut Handbuch den Slash am Ende nicht vergessen !!, (warum auch immer, es geht scheinbar auch ohne).

Und: der webname www.domain.xxx alleine reicht nicht aus, es muß : "http://www.domain.xxx"heißen, sonst findet der Indexer nichts !!
-

hier ein Musterbeispiel


Ich habe mal den Inhalts-Titel "mnoGoSearch root indexing" vergeben und "Server" und als Methode "Allow = Erlauben" eingetragen. Eigentlich hätte hier "Einstiegspunkt=root" stehen müssen. Übrigens ist das ab der 4.2.8 nach einem Ext. Update alles in Deutsch, das ist jetzt sehr angenehm.

Von diesen sogenannten Konfigurations-Records kann (soll / muß) man anscheinend mehrere erstellen und kann damit unterschiedliche Teil-Bäume ein- und ausschließen. Das habe ich aber (noch) nicht gemacht, ich möchte erst mal alles (eine ganze Domain komplett) indizieren und prüfen. Die Details kommen später. Diese Konfig-Daten werden in eine mysql Tabelle in der jeweiligen Typo3 Umgebung geschrieben.

131 - Ein komplexeres Beispiel mit 4 Domains

Ein komplexeres Beispiel ist unser Magnetband Portal mit 4 Hauptdomains und weiteren Alias-Namen.

Es sind zwar insgesamt 5 separate Seitenbäume, jedoch nur 4 Hauptdomains und ich habe fünf Mal ein und die gleiche Suche (also das gleiche Suchformular) über alle diese 5 Seitenbäume. (Übrigens - es funktioniert wirklich.) Die jeweiligen Suchmasken/Formulare sind einfach nur dupliziert.

132 - Kommentar - bis hierher . . . . .

Nach der ersten Testinstallation sind Sie schlauer. Darum:
Bis hierher ist noch nichts an Abfragen oder Ergebnis-Anzeigen eingebaut. Es geht bisher nur um die Konfiguration der externen Suchmaschine und die funktionierende "Erstindizierung" eines kompletten Typo3-Webs per Kommandozeile.

134 - die zu durchsuchenden Objekte eingrenzen

Das hatte ich vergessen, weil diese Marker von dem Versuch mit der indexed_search noch vorhanden waren.
So sieht jetzt das Template aller unserer (Folge-) Seiten im Web aus:

<!-- RDE std - Folge-seite-index.html vom 19.12.09 um 18.00 gr -- >
<html>
<head>
<!-- steht jetzt alles im Template / Klassen für mehrfach vorkommende Elemente, IDs für einmalige Elemento pro Seite -->
</head>
<body>
<!-- ###DOKUMENT### begin -->
<div id="aussen_rahmen">
    <div id="hauptseite">
        <div id="rahmen1_links">
            <div id="seiten_logo">###PAGELOGO###</div>
            <div id="navi_spalte">###NAVISPALTE###</div>
        </div>
        <div id="rahmen2_mitte">
            <div id="header_schriftzug_bild">###PAGESCHRIFTZUG###</div>
            <div id="seiten_titel">###PAGETITLE###</div>
            <div id="such_feld">###SEARCHFIELD###</div>
            <div id="klick_pfad">###PATH###</div>

            <!--TYPO3SEARCH_begin-->
            <div id="content">
                <!-- ###CONTENT### begin -->
                <!-- ###CONTENT### end -->
            </div>
            <!--TYPO3SEARCH_end-->

        </div>
        <div id="rahmen4_unten">
            <div id="fusstext">###FOOTERTEXT###</div>
            <div id="seitenanfang">###TOPOFPAGE###</div>
            <div id="footerlogo">###FOOTERLOGO###</div>
        </div>
    </div>
</div>
<!-- ###DOKUMENT### end -->
</body>
</html>

Laut Handbuch sollen Sie die Marker beachten : <!--TYPO3SEARCH_begin--> und "_end" natürlich.
Aktuell soll ausschließlich der Content (jedenfalls bei uns) indiziert werden !! Die Text-Navigation soll nicht indiziert werden !! Das funktioniert aber so noch nicht.

Der Indexer indiziert mit dieser Konfiguration gnadenlos alles vom Header bis zur Fußnote.

136 - das Manual stimmt so nicht - Korrektur !!

Versucht und geklappt :
von <NOINDEX> bis </NOINDEX> wird alles Ungewollte an Inhalt ausgeblendet
(stammt aus der mnogosearch Dokumentation)
<body>
<!-- ###DOKUMENT### begin -->
<NOINDEX>
<div id="aussen_rahmen">
    <div id="hauptseite">
        <div id="rahmen1_links">
            <div id="seiten_logo">###PAGELOGO###</div>
            <div id="navi_spalte">###NAVISPALTE###</div>
        </div>
        <div id="rahmen2_mitte">
            <div id="header_schriftzug_bild">###PAGESCHRIFTZUG###</div>
            <div id="seiten_titel">###PAGETITLE###</div>
            <div id="such_feld">###SEARCHFIELD###</div>
            <div id="klick_pfad">###PATH###</div>
</NOINDEX>
<!--TYPO3SEARCH_begin--> # braucht man das wirklich ???
            <div id="content">
                <!-- ###CONTENT### begin -->
                    <!-- ###CONTENT### end -->
            </div>
<!--TYPO3SEARCH_end--> # braucht man das wirklich ???
<NOINDEX>
        </div>
        <div id="rahmen4_unten">
            <div id="fusstext">###FOOTERTEXT###</div>
            <div id="seitenanfang">###TOPOFPAGE###</div>
            <div id="footerlogo">###FOOTERLOGO###</div>
        </div>
    </div>
</NOINDEX>
</div>
<!-- ###DOKUMENT### end -->
</body>
-

138 - Die Plazierung von NOINDEX bis /NOINDEX im html Quellcode

Irgendwie verwirrt das den Firebag, die Firebug-Analyse der Seite sieht sehr komisch aus. Da muß noch etwas geändert werden. Komisch, aber es geht erst mal.
-

150 - Und endlich rennt der Indexer

Laut phpmyadmin ist diese Datenbank erst mal leer, komplett leer ( - erst später sind es insgesamt 256 Tabellen). Mit dem folgenden Kommando (als user root im Verzeichnis "/" ) rennt die Suchmaschine überhaupt erst mal los. (bei uns unter Suse 11.1 und auch unter 11.4 - X86_64Bit) - (unter Suse 12.1 üben wir noch)

Den Index "erstellen" :
/usr/bin/php5 -q /www/==rootverzeichnis==/typo3/cli_dispatch.phpsh mnogosearch -v 3 -w

Am Bildschirm laufen bei diesem Testlauf die Seiten (alle?) dieses Webs volle Pulle durch. Es werden sogar beide CPUs kräftig eingespannt.

Das 1. Zwischenergebnis:  Writing words (361.841 words, 8.442.488 bytes).
Dann dauert es etwas und = The words are written successfully.

Es geht weiter in diesem Putty Termnalfenster .

Der nächste Stop zeigt:
Writing words (357.659 words, 8.392.655 bytes).
[674]{01} The words are written successfully.

und er rennt und rennt und rennt . . . . . . . . . und rennt . . .

[674]{01} Writing words (361305 words, 8438557 bytes).
[674]{01} The words are written successfully.

und rennt und rennt immer noch . . . . . . . und ist irgendwann fertig:

[3705]{01} URL: www.fernsehmuseum.info/homepage.html
[3705]{01} Writing words (168376 words, 3917819 bytes, final).
[3705]{01} The words are written successfully. (final)
[3705]{01} Done (1432 seconds, 3779 documents, 20175767 bytes, 13.76 Kbytes/sec.)
Calculating word statistics
Word statistics done

170 - Zwischenbericht 1 (ehemals am 18.12.2009)

Dieser erste "Batchlauf" hat in der neuen Test-Datenbank femuwi_mnogo insgesamt 269 Tabellen angelegt, quasi ein in 16 x 16 (hexadezimal benannten ) Tabellen aufgeteiltes Dictionary nach Alphabet mit (in der Summe) ca. 450.000 Einträgen, insgesamt ca. 26 MB Größe, alles laut phpmyadmin.

Bisheriger Zeitbedarf (auf dem ersten Server) mit Anlaufschwierigkeiten mindestens 5 1/2 Stunden, eigentlich zu viel, denn es ist noch nichts auf der Webseite eingebaut, kein Suchfeld, keine extended Suchseite und keine Ergebnisseite.
-

172 - Zwischenbericht - 2

Nach dem Einfügen von <NOINDEX> und </NOINDEX> vor und nach den auszuschließenden Bereichen (Objekten) im html Code meiner Typo3 Templates und dem Leeren (nicht Löschen) aller 269 Tabellen und erneutem Anwerfen des Indexers werden nur noch ca. 3.000 documents anstelle von 3.768 reindiziert.
Das hat also erstmal funktioniert. Weiteres "Finetuning" ist sicher noch notwendig.
-

174 - Zwischenbericht - 3

Nach genau dieser Vorlage habe ich soeben (auf dem gleichen Server unter Suse 11.1 und Typo3 v.4.2.8) die Domain http://www.useddlt.com/ konfiguriert und den Indexer angeworfen. Diese Domain hat laut phpmyadmin aktuell 1.400 pages und 7.330 tt-content-Elemente.
Obwohl die Such-Engine (auf diesem Server) bereits fertig kompiliert war, hat es dennoch über 1,5 Stunden gedauert, alle Änderungen einzupflegen, zu prüfen und hier etwas Doku zu schreiben.

200 - Das erste Suchformular einzubinden ist gelungen.

Wie immer, wenn man es weiß, ist es ganz einfach.
Bei unserem Muster-Web im Bereich Suchen & Finden habe ich eine ganz normale Seite (die neue zukünftige Such-Seite) neu angelegt.
Dort füge ich nun ein neues Inhaltselement vom Typ "Plug-In-einfügen" in ein und wähle im Tab/Reiter "plugin" die Vorlage "mnogosearch" aus. Weiterhin lege ich für diese Seite ein ext. Template an und füge dort im Tab/Reiter "Enthält" von den gelisteten statischen Templates "mnoGoSearch (mnogosearch)" ein und speichere das!!. Beim 2. Test waren die nachfolgenden minimalen "Erweiterungsoptionen" bereits gesetzt.
Wenn nicht dann:
Jetzt gehe ich zurück zu den Inhaltseigenschaften dieses Elements und wähle dort im Tab/Reiter "Plugin" unter "Erweiterungsoptionen" sowohl "Einfaches Suchformular" als auch "Inhaltsergebnisse" aus und speichere das ab.

202 - Erfolgserlebnis vom Erstversuch

Hier erst mal das Erfolgserlebnis vom 19.12.2009 Nachts um 1.30
Vergleichen Sie vom Zeitverhalten die Suche im (alten sequentiellen) Suchfeld oben rechts auf jeder Seite (Stand 20.12.2009) und die Suche im mnogo Suchfeld auf der neuen Suchseite im Contentelement. Testen Sie zum Beispiel: "Ampex"
http://www.fernsehmuseum.info/1094.html
18.12.2009 - Diese Seite wird später sicher wieder umgebaut. Dann gehen Sie über die Navigation zu Suchen&Finden.

204 - Erfolgserlebnis vom 2. Versuch

Auch hier ist es noch lange nicht perfekt (Stand 21.12.2009), aber es läßt hoffen. Auf http://www.useddlt.com/suchen-in-useddlt.html sehen Sie die alte sequentielle Suche und die neue Schnellsuche im Vergleich.

310 - Finetuning im cron-job

Traue keinem über 30, also erzeuge testweise ein Logfile vom Indexer. Später kann man das wieder abschalten.

Der Cronjob wird erstmal so aussehen (in einer Zeile !!!)

0 5 * * * /usr/bin/php5 -q /vol2/www/www.fernsehmuseum.info/typo3/cli_dispatch.phpsh mnogosearch -w -n &>/var/log/femuwi-indexer.log

später ist die angehängte Option kürzer: -w -n &>/dev/null
damit wird der gesamte "Output" ins Nirwana geschickt, also "stumm" reindiziert.

450 - mnogossearch Besonderheiten und/oder Fehler

Was ist aufgefallen, was hatte nicht funktioniert ?

478 - der erste Fehler - einfach mal so:

[www9.ipw.net - root] ~ $ /usr/bin/php5 -q /vol2/www/www.fernsehmuseum.info/typo3/cli_dispatch.phpsh mnogosearch -v 3 -w
/tmp/mnogosearch-sP5gzQ:47: too few (0) arguments for command 'Realm'
/tmp/mnogosearch-sP5gzQ:47: too few (0) arguments for command 'Realm'
[www9.ipw.net - root] ~ $

Der indexer indiziert nicht mehr ????

Den "Indexer" kann / sollte man immer testweise von der Kommandozeile aus starten - bei Suse 11.1 so hier

/usr/bin/php5 -q /der_www_pfad/www.fernsehmuseum.info/typo3/cli_dispatch.phpsh mnogosearch -v 3 -w

Kommt dann ein Fehler :

/tmp/mnogosearch-sP5gzQ:47: too few (0) arguments for command 'Realm'

sucht man sich "einen Wolf" - Da es aber vorher bereits alles funktioniert hatte, muß es extrem trivial und einfach sein.

Da hat sich (vermutlich nachträglich, ich war es nicht !! oder vielleicht doch ?) eine zweites Inhalts-Element vom Typ
"mnoGoSearch indexing configuration" eingeschlichen mit Configuration "type": "Realm" aber ohne Konfigurationsvorschriften, also leer und damit hat REALM keine Argumente und der Indexer läuft nicht mehr. Man sieht diese Inhalts- Elemente nur im Modul Liste mit etwas Glück.

Zeitbedarf: verplemperte 2 Stunden

480 - Links zur mnogosearch Extension

Hintergrund-Informationen:
www.mnogosearch.org/board/board.php
Das Handbuch zur mnogosearch Suchmaschine in englisch http://www.mnogosearch.org/doc33

http://www.mnogosearch.org/doc/msearch-htmlparser-comments.html

DataparkSearch is a full-featured web search engine. DataparkSearch consists of two parts. The first part is an indexing mechanism (the indexer). The indexer walks over hypertext references and stores found words and new references into the database. The second part is a CGI front-end to provide the search service using the data collected by the indexer.

DataparkSearch was cloned from the 3.2.16 CVS version of mnoGoSearch at 27 November 2003 as DataparkSearch 4.16. The mnoGoSearch's first release took place in November 1998. The search engine had the name of UDMSearch until October 2000 when the project was acquired by Lavtech.Com Corp. and changed its name to mnoGoSearch.

The latest change log of DataparkSearch can be found on our website.
http://www.dataparksearch.org/dpsearch-intro.en.html

http://forge.typo3.org/projects/extension-mnogosearch/issues

http://forge.typo3.org/issues/show/2876
https://svn.typo3.org/TYPO3v4/Extensions/mnogosearch/
https://svn.typo3.org/TYPO3v4/Extensions/pagebrowse/
https://svn.typo3.org/TYPO3v4/Extensions/pagepath/

Das Kommentar-Formular wohnt noch auf der Firmenseite, kommt aber auch bald hier rein.



Startseite -- © 2001/2022 - Copyright by Dipl.-Ing. Gert Redlich / Germany - D-65191 Wiesbaden - Telefon-Nummer - Impressum