<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki.stephanschlegel.de/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=94.216.225.112</id>
	<title>Wikizone - Benutzerbeiträge [de]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.stephanschlegel.de/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=94.216.225.112"/>
	<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Spezial:Beitr%C3%A4ge/94.216.225.112"/>
	<updated>2026-05-06T18:30:02Z</updated>
	<subtitle>Benutzerbeiträge</subtitle>
	<generator>MediaWiki 1.35.14</generator>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=TYPO3_-_Scheduler&amp;diff=18697</id>
		<title>TYPO3 - Scheduler</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=TYPO3_-_Scheduler&amp;diff=18697"/>
		<updated>2011-03-02T12:19:04Z</updated>

		<summary type="html">&lt;p&gt;94.216.225.112: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Links ==&lt;br /&gt;
&lt;br /&gt;
[[Typo3 Command Line Interface (CLI)]]&lt;br /&gt;
&lt;br /&gt;
== Scheduler Cronjob ==&lt;br /&gt;
=== Quickstart ===&lt;br /&gt;
* Scheduler im TYPO3 installieren falls noch nicht aktiv&lt;br /&gt;
* User _cli_scheduler ohne besondere Rechte im TYPO3 Backend anlegen&lt;br /&gt;
* entweder Cronjob über Shell anlegen mit Scheduler aufruf (s.u.)&lt;br /&gt;
* oder bei Zugriff nur über php exec Funktion nutzen Beispiel all-inkl: &lt;br /&gt;
* Geschützter Ordner /cron/ anlegen&lt;br /&gt;
* scheduler.phpx anlegen (s.u.)&lt;br /&gt;
* über Administration Cronjob anlegen&lt;br /&gt;
&lt;br /&gt;
=== Erläuterung ===&lt;br /&gt;
&lt;br /&gt;
Benötigt Backend User _cli_scheduler&lt;br /&gt;
&lt;br /&gt;
Aufruf allgemein&lt;br /&gt;
&lt;br /&gt;
 /pfad/zu/php /pfad/zu/typo3/cli_dispatch.phpsh scheduler&lt;br /&gt;
&lt;br /&gt;
z.B.&lt;br /&gt;
 /usr/local/bin/php /home/bob/www/typo3/cli_dispatch.phpsh scheduler&lt;br /&gt;
auf Mac mit XAMPP&lt;br /&gt;
 /Applications/XAMPP/xamppfiles/bin/php /Applications/XAMPP/xamppfiles/htdocs/typo3_test/typo3/cli_dispatch.phpsh scheduler&lt;br /&gt;
&lt;br /&gt;
=== Scheduler Cronjob auf all Inkl Servern ===&lt;br /&gt;
&lt;br /&gt;
* Datei mit Endung &amp;#039;&amp;#039;&amp;#039;.phpx&amp;#039;&amp;#039;&amp;#039; anlegen. Am besten in ein Verzeichnis mit Namen /cronjobs oder /tasks o.ä. Das Skript muß für php ausführbar sein.&lt;br /&gt;
* Eventuell &amp;#039;&amp;#039;&amp;#039;Verzeichnis schützen&amp;#039;&amp;#039;&amp;#039; (über kasserver mit htaccess Schutz).  &lt;br /&gt;
* Die enthaltene &amp;#039;&amp;#039;&amp;#039;exec Funktion&amp;#039;&amp;#039;&amp;#039; muß den absoluten Pfad zum Skript bekommen.&lt;br /&gt;
&lt;br /&gt;
Beispiel:&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;cron/scheduler.phpx&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
    exec(&amp;quot;php /www/htdocs/w00c43b9/typo3/cli_dispatch.phpsh scheduler&amp;quot;,$ausgabe);&lt;br /&gt;
    echo &amp;quot;&amp;lt;pre&amp;gt;&amp;quot;;&lt;br /&gt;
    print_r($ausgabe);&lt;br /&gt;
    echo &amp;quot;&amp;lt;/pre&amp;gt;&amp;quot;;&lt;br /&gt;
 ?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Scheduler in eigener Extension ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Beispiel gbimporter&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Der gbimporter importiert per Cronjob entfernte .csv Dateien und liest sie in die TYPO3 Datenbank ein. Die benötigten Daten legt man als Datensatz im Backend an. Die Extension ist folgendermaßen aufgebaut.&lt;br /&gt;
&lt;br /&gt;
Damit wir den Scheduler nutzen können müssen wir Folgendes tun:&lt;br /&gt;
&lt;br /&gt;
=== Scheduler Task in der ext_localconf.php registrieren ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
## Scheduler Aufgabe anmelden (ab Version 4.3)&lt;br /&gt;
$TYPO3_CONF_VARS[&amp;#039;SC_OPTIONS&amp;#039;][&amp;#039;scheduler&amp;#039;][&amp;#039;tasks&amp;#039;][&amp;#039;tx_gbimporter_import&amp;#039;] = array(&lt;br /&gt;
	&amp;#039;extension&amp;#039; =&amp;gt; $_EXTKEY, // Extension Key ;-)&lt;br /&gt;
	&amp;#039;title&amp;#039; =&amp;gt; &amp;#039;GB Importer&amp;#039;, // Der Titel der Aufgabe&lt;br /&gt;
	&amp;#039;description&amp;#039; =&amp;gt; &amp;#039;Importieren von CSV Daten per Cronjob&amp;#039;, // Die Beschreibung der Aufgabe&lt;br /&gt;
	// &amp;#039;additionalFields&amp;#039; =&amp;gt; &amp;#039;tx_extkey_TaskName_AdditionalFieldProvider&amp;#039; // Zusätzliche Felder&lt;br /&gt;
);&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Somit weiß TYPO3 daß es einen task&amp;#039;&amp;#039; tx_gbimporter_import&amp;#039;&amp;#039; geben soll der über den Scheduler ausgeführt werden darf, und wie es den Task im Backend anzeigen muß. Über die additionalFields könnte man zusätzliche Felder im Backend anzeigen die man für weitere Einstellungen nutzen könnte (siehe weiterführende Links)&lt;br /&gt;
&lt;br /&gt;
=== Scheduler Task über ext_autoload.php laden === &lt;br /&gt;
Damit TYPO3 nun noch weiß was es bei Aufruf der Aufgabe &amp;#039;&amp;#039;tx_gbimporter_import&amp;#039;&amp;#039; tun soll brauchen wir eine passende Klasse die den auszuführenden php Code enthält. Diese laden wir einfach über den autoload Mechanismus: Enthält eine Extension die Datei ext_autoload.php, wird diese automatisch beim initialisieren der Extension ausgeführt. Daher können wir in dieser Datei die Klasse class.tx_gbimporter_import laden:&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;ext_autoload.php&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
return array(&lt;br /&gt;
    &amp;#039;tx_gbimporter_import&amp;#039; =&amp;gt; t3lib_extMgm::extPath(&amp;#039;gbimporter&amp;#039;, &amp;#039;tasks/class.tx_gbimporter_import.php&amp;#039;)&lt;br /&gt;
);&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wie man sieht können wir hier auf den Code der Klasse referenzieren. Diese müssen wir nun natürlich noch anlegen.&lt;br /&gt;
&lt;br /&gt;
=== Funktionen für den Task anlegen ===&lt;br /&gt;
Wie im vorherigen Schritt angegeben legen wir die Datei&lt;br /&gt;
 task/class.tx_gbimporter_import.php &lt;br /&gt;
an. Diese erweitert die TYPO3 Klasse &lt;br /&gt;
 tx_scheduler_Task &lt;br /&gt;
und enthält mindestens die Funktion &amp;#039;&amp;#039;&amp;#039;execute()&amp;#039;&amp;#039;&amp;#039;, die beim Start des Tasks aufgerufen wird. Damit der Scheduler entscheiden kann ob der Cronjob funktioniert hat, muß die Funktion true oder false zurückgeben&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;class.tx_gbimporter_import.php&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
class tx_gbimporter_import extends tx_scheduler_Task {&lt;br /&gt;
	&lt;br /&gt;
	public function execute() {&lt;br /&gt;
		$this-&amp;gt;init();&lt;br /&gt;
		foreach($this-&amp;gt;arrConfigData as $configKey=&amp;gt;$arrConfig){&lt;br /&gt;
			$this-&amp;gt;configUid = $arrConfig[&amp;#039;uid&amp;#039;];&lt;br /&gt;
                        ...			&lt;br /&gt;
                        if($this-&amp;gt;getRemoteFile(...)){&lt;br /&gt;
				// delete old Data on this Page&lt;br /&gt;
				$this-&amp;gt;deleteOldData(...);&lt;br /&gt;
				// insert new Data on this Page&lt;br /&gt;
				$this-&amp;gt;insertNewData(...);&lt;br /&gt;
				return true;&lt;br /&gt;
			}else{&lt;br /&gt;
				return false;&lt;br /&gt;
			}&lt;br /&gt;
&lt;br /&gt;
		}	&lt;br /&gt;
	}&lt;br /&gt;
        ...&lt;br /&gt;
}&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>94.216.225.112</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Typo3_-_indexed_search&amp;diff=18414</id>
		<title>Typo3 - indexed search</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Typo3_-_indexed_search&amp;diff=18414"/>
		<updated>2011-03-02T10:31:18Z</updated>

		<summary type="html">&lt;p&gt;94.216.225.112: /* Einschränken des Suchbereichs im Template */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Links ==&lt;br /&gt;
http://wiki.typo3.org/index.php/De:Indexed_search&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Suchergebnis verbessern ==&lt;br /&gt;
Es gibt einige Problemchen mit der Indexed Search die man beheben kann:&lt;br /&gt;
&lt;br /&gt;
=== Suchbereich einschränken ===&lt;br /&gt;
Um zu verhindern, daß Metatags, Navigation etc. mit indiziert werden schränkt man den Suchbereich ein. Dafür stehen die Marker für den Suchbereich verwenden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ob das bei den Metatags funktioniert bleibt zu testen. Ansonsten kann auch im Quellcode der Bereich auskommentiert werden: &lt;br /&gt;
&lt;br /&gt;
In der class.indexer.php die 6 Zeilen nach Zeile 1215&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
// get keywords and description metatags &lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Performance in der indexed Search Extension ==&lt;br /&gt;
&lt;br /&gt;
=== Tipps zur besseren Performance und Schonung der Datenbank ===&lt;br /&gt;
&lt;br /&gt;
Nur nach ganzen Worten suchen bringt sehr viel.&lt;br /&gt;
&lt;br /&gt;
Ebenso nur innerhalb des page Objekts aktivieren (page.config.index_enable = 1 nicht config.index_enable = 1)&lt;br /&gt;
&lt;br /&gt;
Interessanter Artikel auf typo3.net: Informationen für eine schlanke, performante Indexsuche&lt;br /&gt;
http://www.typo3.net/forum/list/list_post//63315/&lt;br /&gt;
Darin geht es z.B. um folgende Tipps:&lt;br /&gt;
* Reduzierung der GET-Parameter, die zu einem neuen pHash-Wert führen und eine Beschränkung auf weniger indizierte Wörter auf einer Seite, vor allem wenn die Wörter sich auf der Seite regelmässig ändern (z.B. LIST- &amp;amp; LATEST-Ansicht bei tt_news).&lt;br /&gt;
* Bei Parametern, die am Inhalt nichts ändern (z.B. anderes Layout bei gleichem Inhalt) könnte ein Cookie anstatt eines GET-Parameters verwendet werden&lt;br /&gt;
* Bei einer Bildergallerie könnten vielleicht die Seiten komplett aus der Suche herausgenommen werden, wenn sich bei dem unterschiedlichen Links nur ein Bild ändert, aber keine indizierbaren Texte vorhanden sind.&lt;br /&gt;
* Bei der Extension tt_news sollte keine backPid verwendet werden, da ansonsten zu jeder backPid und zu jeder News Einträge in die &amp;quot;index_rel&amp;quot;-Tabelle gemacht werden. Hätten Sie 1000 Seiten mit der LATEST-Ansicht und 1000 News und durchschnittlich 100 verschiedene Wörter pro News, dann würden ca. 100.000.000 Zeilen in der DB gespeichert!&lt;br /&gt;
&lt;br /&gt;
Die backPid können Sie im TypoScript mit&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 plugin.tt_news.dontUseBackPid = 1 &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
deaktivieren. Anstatt dem dynamisch generierten Zurück-Button in der SINGLE-Ansicht könnte dann ein Zurück-Link mit JavaScript gemacht werden:&lt;br /&gt;
 &amp;lt;a href=&amp;quot;javascript:history.back()&amp;quot; title=&amp;quot;Zurück zur Listenansicht&amp;quot;&amp;gt;« Zurück&amp;lt;/a&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Listenansichten sollten grundsätzlich von der Indizierung ausgeschlossen werden. Entweder man setzt mit den Seiteneigenschaften gleich die gesamte Seite auf &amp;quot;Nicht suchen&amp;quot;&lt;br /&gt;
oder man definiert die Marker für Such-Beginn &amp;amp; Such-Ende so, dass die Listen nicht indiziert werden.&lt;br /&gt;
Sie könnten z.B. den Content-Marker auf den Seiten mit den Listen so machen:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
            page.10.marks.CONTENT_NORMAL = CONTENT&lt;br /&gt;
            page.10.marks.CONTENT_NORMAL {&lt;br /&gt;
                wrap = |&amp;lt;!--TYPO3SEARCH_begin--&amp;gt;&amp;lt;!--TYPO3SEARCH_end--&amp;gt;&lt;br /&gt;
                table = tt_content&lt;br /&gt;
                ...&lt;br /&gt;
            } &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Auf normalen Seiten oder der Single-Ansicht müsste der wrap dann so aussehen:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
            page.10.marks.CONTENT_NORMAL = CONTENT&lt;br /&gt;
            page.10.marks.CONTENT_NORMAL {&lt;br /&gt;
                wrap = &amp;lt;!--TYPO3SEARCH_begin--&amp;gt;|&amp;lt;!--TYPO3SEARCH_end--&amp;gt;&lt;br /&gt;
                table = tt_&amp;lt;content&lt;br /&gt;
                ...&lt;br /&gt;
            } &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die &amp;#039;&amp;#039;&amp;#039;Druckansicht&amp;#039;&amp;#039;&amp;#039; sollte man möglichst über &amp;#039;&amp;#039;&amp;#039;CSS&amp;#039;&amp;#039;&amp;#039; und nicht über einen Print-Button machen. Wenn man aber dennoch mit einer Print- oder &amp;#039;&amp;#039;&amp;#039;PDF-Darstellung&amp;#039;&amp;#039;&amp;#039; arbeiten will, dann sollten diese Inhalte &amp;#039;&amp;#039;&amp;#039;nicht auch noch indiziert&amp;#039;&amp;#039;&amp;#039; werden. Zum Einen hilft eine &amp;#039;&amp;#039;&amp;#039;geschickte Anordnung der Marker TYPO3SEARCH_begin und TYPO3SEARCH_end&amp;#039;&amp;#039;&amp;#039;, zum Anderen sollte im &amp;#039;&amp;#039;&amp;#039;TypoScript nicht im global gültigem config-Abschnitt index_enable auf 1&amp;#039;&amp;#039;&amp;#039; gesetzt werden. Wenn dies nicht beachtet wird, hat man für jede typeNum neue Einträge in der &amp;quot;index_rel&amp;quot;-Tabelle!&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Falsch wäre:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
            config {&lt;br /&gt;
                index_enable = 1&lt;br /&gt;
                index_externals = 1&lt;br /&gt;
            }&lt;br /&gt;
            page {&lt;br /&gt;
                ...&lt;br /&gt;
            } &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Richtig wäre:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
            page {&lt;br /&gt;
                config {&lt;br /&gt;
                    index_enable = 1&lt;br /&gt;
                    index_externals = 1&lt;br /&gt;
                }&lt;br /&gt;
                ...&lt;br /&gt;
            } &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ein einmal gesetzter &amp;#039;&amp;#039;&amp;#039;Encryption-Key sollte nicht mehr gewechselt werden&amp;#039;&amp;#039;&amp;#039;, da sich ansonsten alle &amp;#039;&amp;#039;&amp;#039;cHash-Werte&amp;#039;&amp;#039;&amp;#039; ändern. Dies würde zu sehr vielen neuen Einträgen in der DB führen. (Zudem kann dies unter Umständen den &amp;#039;&amp;#039;&amp;#039;Pagerank&amp;#039;&amp;#039;&amp;#039; bei Goole zerstören und &amp;#039;&amp;#039;&amp;#039;Abmeldelinks beim Newsletter&amp;#039;&amp;#039;&amp;#039; funktionieren auch nicht mehr).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Wenn TYPO3 Version 4.1+ verwendet wird, sollte man gegebenenfalls die Tabellen &amp;quot;index_...&amp;quot; komplett löschen und mit einem COMPARE im Install-Tool neu anlegen lassen. Wenn die Datenbank &amp;#039;&amp;#039;&amp;#039;InnoDB&amp;#039;&amp;#039;&amp;#039; unterstützt, werden die Tabellen dann auch als InnoDB-Tabellen angelegt. Hier können die Tabellen ausgelesen werden, obwohl vielleicht in diesem Augenblick ein Eintrag geschrieben wird. Die älteren &amp;#039;&amp;#039;&amp;#039;MyISAM-Tabellen werden nämlich während eines Schreibzugriffs komplett gesperr&amp;#039;&amp;#039;&amp;#039;t.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Nach den Optimierungen sollten die Tabellen wenigstens geleert werden&amp;#039;&amp;#039;&amp;#039;, damit die überflüssigen Daten dann auch nicht mehr in der DB liegen bleiben. Danach sollte auch im TYPO3-Backend unter Web-&amp;gt;Info-&amp;gt;Indexed search-&amp;gt;Technical Details überprüft werden, ob die Änderungen zum Erfolg geführt haben, oder ob noch unnötige Einträge vorhanden sind.&lt;br /&gt;
&lt;br /&gt;
=== Performance Fragen ===&lt;br /&gt;
Wenn es mehr Seiten werden kann die indexed Search Extension zum Performance Killer werden.&lt;br /&gt;
Dafür gibt es mehrere Gründe:&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;1. Die Volltextsuche http://bugs.typo3.org/view.php?id=5089&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
Es gibt aus Gründen der Kompatibilität keinen fulltext index in den Tabellen. &lt;br /&gt;
Daher schlägt Peter Russ im Bugtracker vor: fulltext index to index_fulltext.fulltext and index_words.baseword&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;2. changed query in class.tx_indexedsearch.php to use fulltext&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
capabilites of MySql.&lt;br /&gt;
Das ist im obigen Link im verlinkten diff File beschrieben. Großer Performance Gewinn, allerdings keine Teilsuche (typo findet auch typo2) mehr möglich.&lt;br /&gt;
nochmal zu der Änderung zur Performance-Steigerung:&lt;br /&gt;
&lt;br /&gt;
in der typo3/sysext/indexed_search/pi/class.tx_indexedsearch.php &lt;br /&gt;
ungefähr Zeile 820 sollte muss case 1 bis 3 aukommentiert werden und &lt;br /&gt;
case 10 noch angepast werden, so dass es dann so aussehen sollte:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
// Perform search for word:&lt;br /&gt;
			switch($theType)	{&lt;br /&gt;
&lt;br /&gt;
/*&lt;br /&gt;
  * can&amp;#039;t see any difference in this cases, but Kaspar might know&lt;br /&gt;
				case &amp;#039;1&amp;#039;:&lt;br /&gt;
					$wSel = &amp;quot;IW.baseword LIKE &lt;br /&gt;
&amp;#039;%&amp;quot;.$GLOBALS[&amp;#039;TYPO3_DB&amp;#039;]-&amp;gt;quoteStr($sWord, &amp;#039;index_words&amp;#039;).&amp;quot;%&amp;#039;&amp;quot;;&lt;br /&gt;
					$res = $this-&amp;gt;execPHashListQuery($wSel,&amp;#039; AND is_stopword=0&amp;#039;);&lt;br /&gt;
				break;&lt;br /&gt;
				case &amp;#039;2&amp;#039;:&lt;br /&gt;
					$wSel = &amp;quot;IW.baseword LIKE &amp;#039;&amp;quot;.$GLOBALS[&amp;#039;TYPO3_DB&amp;#039;]-&amp;gt;quoteStr($sWord, &lt;br /&gt;
&amp;#039;index_words&amp;#039;).&amp;quot;%&amp;#039;&amp;quot;;&lt;br /&gt;
					$res = $this-&amp;gt;execPHashListQuery($wSel,&amp;#039; AND is_stopword=0&amp;#039;);&lt;br /&gt;
				break;&lt;br /&gt;
				case &amp;#039;3&amp;#039;:&lt;br /&gt;
					$wSel = &amp;quot;IW.baseword LIKE &lt;br /&gt;
&amp;#039;%&amp;quot;.$GLOBALS[&amp;#039;TYPO3_DB&amp;#039;]-&amp;gt;quoteStr($sWord, &amp;#039;index_words&amp;#039;).&amp;quot;&amp;#039;&amp;quot;;&lt;br /&gt;
					$res = $this-&amp;gt;execPHashListQuery($wSel,&amp;#039; AND is_stopword=0&amp;#039;);&lt;br /&gt;
				break;&lt;br /&gt;
*/&lt;br /&gt;
				case &amp;#039;1&amp;#039;:&lt;br /&gt;
				case &amp;#039;2&amp;#039;:&lt;br /&gt;
				case &amp;#039;3&amp;#039;:&lt;br /&gt;
					$wSel=&amp;#039;match(IW.baseword) &lt;br /&gt;
against(&amp;quot;&amp;#039;.$GLOBALS[&amp;#039;TYPO3_DB&amp;#039;]-&amp;gt;quoteStr($sWord, &amp;#039;index_words&amp;#039;).&amp;#039;&amp;quot;)&amp;#039;;&lt;br /&gt;
					$res = $this-&amp;gt;execPHashListQuery($wSel,&amp;#039; AND is_stopword=0&amp;#039;);&lt;br /&gt;
					break;		&lt;br /&gt;
				case &amp;#039;10&amp;#039;:&lt;br /&gt;
					$wSel = &amp;#039;IW.metaphone = &amp;#039;.$this-&amp;gt;indexerObj-&amp;gt;metaphone($sWord);&lt;br /&gt;
					$res = $this-&amp;gt;execPHashListQuery($wSel,&amp;#039; AND is_stopword=0&amp;#039;);&lt;br /&gt;
				break;&lt;br /&gt;
				case &amp;#039;20&amp;#039;:&lt;br /&gt;
					$res = $GLOBALS[&amp;#039;TYPO3_DB&amp;#039;]-&amp;gt;exec_SELECTquery(&lt;br /&gt;
								&amp;#039;ISEC.phash&amp;#039;,&lt;br /&gt;
								&amp;#039;index_section ISEC, index_fulltext IFT&amp;#039;,&lt;br /&gt;
								&amp;#039;match(IFT.fulltextdata) &lt;br /&gt;
against(\&amp;#039;&amp;#039;.$GLOBALS[&amp;#039;TYPO3_DB&amp;#039;]-&amp;gt;quoteStr($sWord, &lt;br /&gt;
&amp;#039;index_fulltext&amp;#039;).&amp;#039;\&amp;#039;) AND&lt;br /&gt;
									ISEC.phash = IFT.phash&lt;br /&gt;
									&amp;#039;.$this-&amp;gt;sectionTableWhere(),						&lt;br /&gt;
								&amp;#039;ISEC.phash&amp;#039;&lt;br /&gt;
							);&lt;br /&gt;
					$wSel = &amp;#039;1=1&amp;#039;;&lt;br /&gt;
					if ($this-&amp;gt;piVars[&amp;#039;type&amp;#039;]==20)	$this-&amp;gt;piVars[&amp;#039;order&amp;#039;] = &amp;#039;mtime&amp;#039;;	 &lt;br /&gt;
// If there is a fulltext search for a sentence there is a likeliness &lt;br /&gt;
that sorting cannot be done by the rankings from the rel-table (because &lt;br /&gt;
no relations will exist for the sentence in the word-table). So &lt;br /&gt;
therefore mtime is used instaed. It is not required, but otherwise some &lt;br /&gt;
hits may be left out.&lt;br /&gt;
				break;&lt;br /&gt;
				default:&lt;br /&gt;
					$wSel = &amp;#039;IW.wid = &amp;#039;.$hash = $this-&amp;gt;indexerObj-&amp;gt;md5inthash($sWord);&lt;br /&gt;
					$res = $this-&amp;gt;execPHashListQuery($wSel,&amp;#039; AND is_stopword=0&amp;#039;);&lt;br /&gt;
				break;&lt;br /&gt;
			}&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Weiterhin muss wie beschreiben z.b mittels phpmyadmin-Interface der &lt;br /&gt;
Index-Typ des Indizes fulltext in der Tabelle index_fulltext auf &lt;br /&gt;
FULLTEXT gesetzt werden, sowie in der Inidize baseword in der Tabelle &lt;br /&gt;
index_words auf FULLTEXT.&lt;br /&gt;
&lt;br /&gt;
In der t.dev-Liste haben sie lange darüber diskutiert, wie es &lt;br /&gt;
integrierbar ist. Problem ist wohl, dass der FULLTEXT-Index in anderen &lt;br /&gt;
DB-Systemen nicht unterstützt wird, und die Sache ja kompatibel bleiben &lt;br /&gt;
soll. Es gab ein paar gute Lösungsansätze und irgendwann wirds sicher &lt;br /&gt;
konfigurierbar.&lt;br /&gt;
&lt;br /&gt;
Noch zu der Frage:&lt;br /&gt;
 &amp;gt; Geht eine täglich Re-Indizierung nicht ziemlich auf en Traffic bzw.&lt;br /&gt;
 &amp;gt; Serverperformance? Ganz davon abgesehen, dass ich von cronjob&amp;#039;s auch&lt;br /&gt;
 &amp;gt; nicht viel weiss... Wie sähe denn so ein cronjob aus?&lt;br /&gt;
&lt;br /&gt;
Sinnvollerweise realisiert man dass so, dass die Re-Indexierung in der &lt;br /&gt;
Nacht läuft. Weiterhin kann man dann ausschalten, dass die Seiten im &lt;br /&gt;
Frontend überhaupt indexiert werden - bringt also sogar einen &lt;br /&gt;
Performance Vorteil.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;3. Mehrfach indizierte Inhalte bei tt_news&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
Lösung aus der Mailing Liste:&lt;br /&gt;
&lt;br /&gt;
Die mehrfachindizierung bei tt_news habe ich hoffentlich dadurch &lt;br /&gt;
gelöst, indem ich dontUseBackPid = 1 verwende und nur jeweils die &lt;br /&gt;
SINGLE-News-Seite indizieren lasse. D. h. ich habe bei den LIST und &lt;br /&gt;
LATEST Seiten &amp;quot;Nicht suchen&amp;quot; aktiviert. Ist das so richtig?&lt;br /&gt;
&lt;br /&gt;
== Ein Suchfeld ins Template einbinden ==&lt;br /&gt;
Hinweis: dies beschreibt die Einbindung eines Suchfeldes der indexed_search Extension. Wie man ein Suchfeld für die Standard Suche einbindet siehst du hier:&lt;br /&gt;
&lt;br /&gt;
[[TYPO3 - Standard Suche auf jeder Seite einbinden]]&lt;br /&gt;
&lt;br /&gt;
==== Extension einbinden ====&lt;br /&gt;
Indexed Search Engine (indexed_search)installieren&lt;br /&gt;
(Standardmäßig vorhanden)&lt;br /&gt;
&lt;br /&gt;
Translation Handling -&amp;gt; Übersetzungen aktualisieren&lt;br /&gt;
&lt;br /&gt;
==== HTML-Template &amp;amp; CSS ====&lt;br /&gt;
Beispiel: &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    &amp;lt;div id=&amp;quot;searchBox&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
===== Einschränken des Suchbereichs im Template =====&lt;br /&gt;
Im Template werden folgende Marker eingesetzt:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 &amp;lt;!--TYPO3SEARCH_begin--&amp;gt;&lt;br /&gt;
 ...&lt;br /&gt;
 &amp;lt;!--TYPO3SEARCH_end--&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sind keine Marker vorhanden wird alles Durchsucht ist nur einer der Marker vorhanden wird alles nach (begin Marker) bzw. vor (end Marker) dem Marker durchsucht&lt;br /&gt;
&lt;br /&gt;
===== Suche auf bestimmten Seiten =====&lt;br /&gt;
Man kann auch die Suche auf bestimmte Seiten / Sections beschränken ohne auf TypoScript zurückzugreifen. Indexed Search benutzt dafür den Parameter&lt;br /&gt;
 tx_indexedsearch[sections]&lt;br /&gt;
&lt;br /&gt;
er enthält einen Wert der Form &lt;br /&gt;
 value=&amp;quot;rl2_111,222&amp;quot;&lt;br /&gt;
&lt;br /&gt;
rl2 bedeutet 2. Level über Root (möglich sind rl1, rl2, ?)&lt;br /&gt;
&lt;br /&gt;
111 bedeutet Seitenid 111&lt;br /&gt;
&lt;br /&gt;
===== CSS =====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#searchBox input{&lt;br /&gt;
  width: 140px;&lt;br /&gt;
}&lt;br /&gt;
#searchBox input.searchBox-button{&lt;br /&gt;
position: relative;&lt;br /&gt;
border: none;&lt;br /&gt;
width: auto;&lt;br /&gt;
top: 2px;&lt;br /&gt;
}&lt;br /&gt;
div.tx-indexedsearch-whatis{&lt;br /&gt;
padding-left: 12px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Konfiguration der Extension ====&lt;br /&gt;
&lt;br /&gt;
TypoScript indexedSearch-config (V1.1)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Constants &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
searchRoot = 1&lt;br /&gt;
searchResultPage = 4&lt;br /&gt;
searchPic = fileadmin/common/images/lupe.gif&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Setup&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
plugin.tx_indexedsearch._CSS_DEFAULT_STYLE &amp;gt;&lt;br /&gt;
page.config.index_enable = 1&lt;br /&gt;
config{&lt;br /&gt;
   # Index-Suche einschalten&lt;br /&gt;
   index_enable = 1 &lt;br /&gt;
   # Externe Dateien auch durchsuchen (pdf,doc...benötigt Erweiterungen)       &lt;br /&gt;
   index_externals = 0&lt;br /&gt;
}&lt;br /&gt;
plugin.tx_indexedsearch{&lt;br /&gt;
   # Startpunkte der Suche (12,45...)&lt;br /&gt;
   search.rootPidList = {$searchRoot}&lt;br /&gt;
   # Diverse Optionen zur Anzeige im Frontend...&lt;br /&gt;
   show.rules = 0&lt;br /&gt;
   show.resultNumber = 0&lt;br /&gt;
   blind.sections = 1&lt;br /&gt;
   show.L1sections = 0&lt;br /&gt;
   show.L2sections = 0&lt;br /&gt;
   show.advancedSearchLink = 0&lt;br /&gt;
&lt;br /&gt;
   # auf bestimmte Medientypen einschränken&lt;br /&gt;
   # search.mediaList = pdf, doc&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Temporäres Objekt für das Suchfeld (in neueren Versionen auch Templates möglich &lt;br /&gt;
# es kann auch die macina Searchbox eingesetzt werden (Template Support Mehrsprachigkeit...)&lt;br /&gt;
&lt;br /&gt;
temp.searchBox = TEXT&lt;br /&gt;
temp.searchBox.insertData = 1&lt;br /&gt;
temp.searchBox.value (&lt;br /&gt;
&amp;lt;div class=&amp;quot;searchBox&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;form action=&amp;quot;index.php?id={$searchResultPage}&amp;amp;tx_indexedsearch[sword]&amp;quot; method=&amp;quot;post&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;input type=&amp;quot;text&amp;quot; name=&amp;quot;tx_indexedsearch[sword]&amp;quot; value=&amp;quot;Suche&amp;quot; class=&amp;quot;searchBox-field&amp;quot; title=&amp;quot;Suche&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;input type=&amp;quot;image&amp;quot; src=&amp;quot;{$searchPic}&amp;quot; alt=&amp;quot;Start&amp;quot; title=&amp;quot;Start&amp;quot; class=&amp;quot;searchBox-button&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;input type=&amp;quot;hidden&amp;quot; name=&amp;quot;stype&amp;quot; value=&amp;quot;L0&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;input type=&amp;quot;hidden&amp;quot; name=&amp;quot;scols&amp;quot; value=&amp;quot;tt_content.header-bodytext-imagecaption&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;input type=&amp;quot;hidden&amp;quot; name=&amp;quot;locationData&amp;quot; value=&amp;quot;{$searchResultPage}:pages:{$searchResultPage}&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/form&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
)&lt;br /&gt;
&lt;br /&gt;
#plugin.tx_macinasearchbox_pi1.pidSearchpage = {$searchResultPage}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Suche nur in der aktuellen Sprache ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# für die default-Sprache:&lt;br /&gt;
plugin.tx_indexedsearch._DEFAULT_PI_VARS.lang = 0&lt;br /&gt;
&lt;br /&gt;
# für die Sprache ?&amp;amp;L=1&lt;br /&gt;
[globalVar = GP:L = 1] &lt;br /&gt;
plugin.tx_indexedsearch._DEFAULT_PI_VARS.lang = 1&lt;br /&gt;
[global]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Oder für jede Sprache gültig:&lt;br /&gt;
plugin.tx_indexedsearch._DEFAULT_PI_VARS.lang &amp;lt; config.sys_language_uid&lt;br /&gt;
&lt;br /&gt;
==== Sprachlabels ====&lt;br /&gt;
Wie in Typo3 üblich z.B.:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
plugin.tx_indexedsearch._LOCAL_LANG.de.pi_list_browseresults_prev = &amp;amp;lt;&amp;amp;lt; &lt;br /&gt;
plugin.tx_indexedsearch._LOCAL_LANG.de.pi_list_browseresults_page =&lt;br /&gt;
plugin.tx_indexedsearch._LOCAL_LANG.de.pi_list_browseresults_next = &amp;amp;gt;&amp;amp;gt;&lt;br /&gt;
plugin.tx_indexedsearch._LOCAL_LANG.de.pi_list_browseresults_display = ###TAG_BEGIN###%s###TAG_END### - ###TAG_BEGIN###%s###TAG_END### (###TAG_BEGIN###%s###TAG_END###)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In manchen Versionen gibt es einen Fehler in der französichen Übersetzung deshalb:&lt;br /&gt;
&lt;br /&gt;
 plugin.tx_indexedsearch._LOCAL_LANG.fr.pi_list_browseresults_display = Résultat ###TAG_BEGIN###%s à %s###TAG_END### sur un total de ###TAG_BEGIN###%s###TAG_END###&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Suchergebnis:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
manchmal möchte man dem Suchergebnis eine eigene Überschrift statt des Seitennamens mitgeben. Das macht man mit:&lt;br /&gt;
 $GLOBALS[&amp;#039;TSFE&amp;#039;]-&amp;gt;indexedDocTitle = &amp;#039;suchtitel&amp;#039;&lt;br /&gt;
&lt;br /&gt;
==== im Main Template ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Setup:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 ### SearchBox ###&lt;br /&gt;
 subparts.searchBox &amp;lt; temp.searchBox&lt;br /&gt;
&lt;br /&gt;
=== Kleine Verbesserungen ===&lt;br /&gt;
Ein bischen Javascript kann den komfort verbessern:&lt;br /&gt;
&lt;br /&gt;
Beispiel&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 &amp;lt;input type=&amp;quot;text&amp;quot; onfocus=&amp;quot;if(this.value==&amp;#039;Seminarsuche&amp;#039;)this.value=&amp;#039;&amp;#039;;&amp;quot; onblur=&amp;quot;if(this.value==&amp;#039;&amp;#039;)this.value=&amp;#039;Seminarsuche&amp;#039;;&amp;quot; value=&amp;quot;Seminarsuche&amp;quot; name=&amp;quot;tx_indexedsearch[sword]&amp;quot; class=&amp;quot;searchbox-field&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Tutorial von Marlies Cohen ==&lt;br /&gt;
&lt;br /&gt;
When I first started with Typo3 Indexed Search gave me some problems. It is a very basic extension.&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
Place this line of code in the Setup of your TypoScript of your rootpage:&lt;br /&gt;
&lt;br /&gt;
    # Indexed Search activated&lt;br /&gt;
    page.config.index_enable = 1&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
Now comes the trick to get your pages indexed.&lt;br /&gt;
&lt;br /&gt;
-&amp;gt; Log out of Typo3&lt;br /&gt;
&lt;br /&gt;
-&amp;gt; Go to your home page&lt;br /&gt;
&lt;br /&gt;
-&amp;gt; Log back in to Typo3&lt;br /&gt;
&lt;br /&gt;
-&amp;gt; Now your pages should be cached and searchable&lt;br /&gt;
&lt;br /&gt;
     &lt;br /&gt;
&lt;br /&gt;
The reason for this is that as long as you are logged in to Typo3 your pages are not cached, once you log out and view pages they are cached. Knowing this saves a lot of hassles.&lt;br /&gt;
&lt;br /&gt;
== Clearing Indexed Search Cache ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-&amp;gt; switch to the &amp;quot;Info&amp;quot; module on the left and&lt;br /&gt;
&lt;br /&gt;
-&amp;gt; choose &amp;quot;indexed search&amp;quot; on the right dropdown (in the details view). now you can see all your pages that have been indexed&lt;br /&gt;
&lt;br /&gt;
-&amp;gt; click on the trash-item to delete the indexed record for a specific page-tree (attention: recursive!).&lt;br /&gt;
&lt;br /&gt;
== Optionen der indexed search ==&lt;br /&gt;
Da gibts ne ganze Menge:&lt;br /&gt;
&lt;br /&gt;
http://www.typo3.net/forum/list/list_post//27370/&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
plugin.tx_indexedsearch {&lt;br /&gt;
 blind {&lt;br /&gt;
        ###settings: 0=aktiv (sichtbar), -1 inaktiv (nicht sichtbar)&lt;br /&gt;
       &lt;br /&gt;
        ## Vergleichs-Typ (Ganzes Wort, Wortteil,etc)&lt;br /&gt;
        type=-1&lt;br /&gt;
       &lt;br /&gt;
        ## type default option (und /oder)&lt;br /&gt;
        defOp=0&lt;br /&gt;
       &lt;br /&gt;
        ## Bereich(e) der website&lt;br /&gt;
        sections=0&lt;br /&gt;
       &lt;br /&gt;
        ## Suche in Medientypen (erweiterungen)&lt;br /&gt;
        media=1&lt;br /&gt;
       &lt;br /&gt;
        ## Sortierung&lt;br /&gt;
        order=-1&lt;br /&gt;
       &lt;br /&gt;
        ## Ansicht (Sektionshierachie / Liste)&lt;br /&gt;
        group=-1&lt;br /&gt;
       &lt;br /&gt;
        ## Ansicht: Erweiterte Vorschau&lt;br /&gt;
        extResume = -1&lt;br /&gt;
       &lt;br /&gt;
        ## Sprachwahlbox&lt;br /&gt;
        lang=0&lt;br /&gt;
       &lt;br /&gt;
        ## Aufsteigend absteigend&lt;br /&gt;
        desc=-1&lt;br /&gt;
       &lt;br /&gt;
        ## Ergebnisse (Anzahl der Treffer pro Seite)&lt;br /&gt;
        results=-1&lt;br /&gt;
 }&lt;br /&gt;
 show {&lt;br /&gt;
        ###settings: 1=aktiv (sichtbar), 0 inaktiv (nicht sichtbar)&lt;br /&gt;
       &lt;br /&gt;
        ## zeige Kurzanleitung&lt;br /&gt;
        rules=1&lt;br /&gt;
       &lt;br /&gt;
        ## Erstellungsinformationen des Hashes&lt;br /&gt;
        parsetimes=1&lt;br /&gt;
       &lt;br /&gt;
        ## Zweite ebene im Bereichs-dropdown anzeigen&lt;br /&gt;
        L2sections=1&lt;br /&gt;
       &lt;br /&gt;
        ## Erste ebene im Bereichs-dropdown anzeigen&lt;br /&gt;
        L1sections=1&lt;br /&gt;
       &lt;br /&gt;
        ## Alle &amp;quot;nicht im menü&amp;quot; oder &amp;quot;im menü verstecken&amp;quot;&lt;br /&gt;
        ##(aber nicht &amp;quot;versteckte&amp;quot; seiten) mit anzeigen in section?&lt;br /&gt;
        LxALLtypes=0&lt;br /&gt;
       &lt;br /&gt;
        ## leeren des Suchfeldes nach suche&lt;br /&gt;
        clearSearchBox = 0&lt;br /&gt;
       &lt;br /&gt;
        ## Aktuelles suchwort zu den bisherigen suchwörtern hinzufügen&lt;br /&gt;
        clearSearchBox.enableSubSearchCheckBox=0&lt;br /&gt;
 }&lt;br /&gt;
 search {&lt;br /&gt;
        ## Seiten-Id auf der die Suchergebnisse ausgegeben werden sollen.&lt;br /&gt;
        ## Leer lassen entspricht auf gleicher Seite ausgeben&lt;br /&gt;
    rootPidList =&lt;br /&gt;
       &lt;br /&gt;
        ## Anzahl der auszugebenden treffer&lt;br /&gt;
    page_links = 10&lt;br /&gt;
 }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Scheint nicht zu funktionnieren&lt;br /&gt;
 &lt;br /&gt;
 plugin.tx_indexedsearch.search.page_links = 5&lt;br /&gt;
&lt;br /&gt;
stattdessen das hier verwenden:&lt;br /&gt;
&lt;br /&gt;
 plugin.tx_indexedsearch._DEFAULT_PI_VARS.results = 5&lt;/div&gt;</summary>
		<author><name>94.216.225.112</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Typo3_-_indexed_search&amp;diff=17592</id>
		<title>Typo3 - indexed search</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Typo3_-_indexed_search&amp;diff=17592"/>
		<updated>2011-03-02T09:52:46Z</updated>

		<summary type="html">&lt;p&gt;94.216.225.112: /* Tutorial von Marlies Cohen */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Links ==&lt;br /&gt;
http://wiki.typo3.org/index.php/De:Indexed_search&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Suchergebnis verbessern ==&lt;br /&gt;
Es gibt einige Problemchen mit der Indexed Search die man beheben kann:&lt;br /&gt;
&lt;br /&gt;
=== Suchbereich einschränken ===&lt;br /&gt;
Um zu verhindern, daß Metatags, Navigation etc. mit indiziert werden schränkt man den Suchbereich ein. Dafür stehen die Marker für den Suchbereich verwenden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ob das bei den Metatags funktioniert bleibt zu testen. Ansonsten kann auch im Quellcode der Bereich auskommentiert werden: &lt;br /&gt;
&lt;br /&gt;
In der class.indexer.php die 6 Zeilen nach Zeile 1215&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
// get keywords and description metatags &lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Performance in der indexed Search Extension ==&lt;br /&gt;
&lt;br /&gt;
=== Tipps zur besseren Performance und Schonung der Datenbank ===&lt;br /&gt;
&lt;br /&gt;
Nur nach ganzen Worten suchen bringt sehr viel.&lt;br /&gt;
&lt;br /&gt;
Ebenso nur innerhalb des page Objekts aktivieren (page.config.index_enable = 1 nicht config.index_enable = 1)&lt;br /&gt;
&lt;br /&gt;
Interessanter Artikel auf typo3.net: Informationen für eine schlanke, performante Indexsuche&lt;br /&gt;
http://www.typo3.net/forum/list/list_post//63315/&lt;br /&gt;
Darin geht es z.B. um folgende Tipps:&lt;br /&gt;
* Reduzierung der GET-Parameter, die zu einem neuen pHash-Wert führen und eine Beschränkung auf weniger indizierte Wörter auf einer Seite, vor allem wenn die Wörter sich auf der Seite regelmässig ändern (z.B. LIST- &amp;amp; LATEST-Ansicht bei tt_news).&lt;br /&gt;
* Bei Parametern, die am Inhalt nichts ändern (z.B. anderes Layout bei gleichem Inhalt) könnte ein Cookie anstatt eines GET-Parameters verwendet werden&lt;br /&gt;
* Bei einer Bildergallerie könnten vielleicht die Seiten komplett aus der Suche herausgenommen werden, wenn sich bei dem unterschiedlichen Links nur ein Bild ändert, aber keine indizierbaren Texte vorhanden sind.&lt;br /&gt;
* Bei der Extension tt_news sollte keine backPid verwendet werden, da ansonsten zu jeder backPid und zu jeder News Einträge in die &amp;quot;index_rel&amp;quot;-Tabelle gemacht werden. Hätten Sie 1000 Seiten mit der LATEST-Ansicht und 1000 News und durchschnittlich 100 verschiedene Wörter pro News, dann würden ca. 100.000.000 Zeilen in der DB gespeichert!&lt;br /&gt;
&lt;br /&gt;
Die backPid können Sie im TypoScript mit&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 plugin.tt_news.dontUseBackPid = 1 &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
deaktivieren. Anstatt dem dynamisch generierten Zurück-Button in der SINGLE-Ansicht könnte dann ein Zurück-Link mit JavaScript gemacht werden:&lt;br /&gt;
 &amp;lt;a href=&amp;quot;javascript:history.back()&amp;quot; title=&amp;quot;Zurück zur Listenansicht&amp;quot;&amp;gt;« Zurück&amp;lt;/a&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Listenansichten sollten grundsätzlich von der Indizierung ausgeschlossen werden. Entweder man setzt mit den Seiteneigenschaften gleich die gesamte Seite auf &amp;quot;Nicht suchen&amp;quot;&lt;br /&gt;
oder man definiert die Marker für Such-Beginn &amp;amp; Such-Ende so, dass die Listen nicht indiziert werden.&lt;br /&gt;
Sie könnten z.B. den Content-Marker auf den Seiten mit den Listen so machen:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
            page.10.marks.CONTENT_NORMAL = CONTENT&lt;br /&gt;
            page.10.marks.CONTENT_NORMAL {&lt;br /&gt;
                wrap = |&amp;lt;!--TYPO3SEARCH_begin--&amp;gt;&amp;lt;!--TYPO3SEARCH_end--&amp;gt;&lt;br /&gt;
                table = tt_content&lt;br /&gt;
                ...&lt;br /&gt;
            } &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Auf normalen Seiten oder der Single-Ansicht müsste der wrap dann so aussehen:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
            page.10.marks.CONTENT_NORMAL = CONTENT&lt;br /&gt;
            page.10.marks.CONTENT_NORMAL {&lt;br /&gt;
                wrap = &amp;lt;!--TYPO3SEARCH_begin--&amp;gt;|&amp;lt;!--TYPO3SEARCH_end--&amp;gt;&lt;br /&gt;
                table = tt_&amp;lt;content&lt;br /&gt;
                ...&lt;br /&gt;
            } &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die &amp;#039;&amp;#039;&amp;#039;Druckansicht&amp;#039;&amp;#039;&amp;#039; sollte man möglichst über &amp;#039;&amp;#039;&amp;#039;CSS&amp;#039;&amp;#039;&amp;#039; und nicht über einen Print-Button machen. Wenn man aber dennoch mit einer Print- oder &amp;#039;&amp;#039;&amp;#039;PDF-Darstellung&amp;#039;&amp;#039;&amp;#039; arbeiten will, dann sollten diese Inhalte &amp;#039;&amp;#039;&amp;#039;nicht auch noch indiziert&amp;#039;&amp;#039;&amp;#039; werden. Zum Einen hilft eine &amp;#039;&amp;#039;&amp;#039;geschickte Anordnung der Marker TYPO3SEARCH_begin und TYPO3SEARCH_end&amp;#039;&amp;#039;&amp;#039;, zum Anderen sollte im &amp;#039;&amp;#039;&amp;#039;TypoScript nicht im global gültigem config-Abschnitt index_enable auf 1&amp;#039;&amp;#039;&amp;#039; gesetzt werden. Wenn dies nicht beachtet wird, hat man für jede typeNum neue Einträge in der &amp;quot;index_rel&amp;quot;-Tabelle!&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Falsch wäre:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
            config {&lt;br /&gt;
                index_enable = 1&lt;br /&gt;
                index_externals = 1&lt;br /&gt;
            }&lt;br /&gt;
            page {&lt;br /&gt;
                ...&lt;br /&gt;
            } &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Richtig wäre:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
            page {&lt;br /&gt;
                config {&lt;br /&gt;
                    index_enable = 1&lt;br /&gt;
                    index_externals = 1&lt;br /&gt;
                }&lt;br /&gt;
                ...&lt;br /&gt;
            } &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ein einmal gesetzter &amp;#039;&amp;#039;&amp;#039;Encryption-Key sollte nicht mehr gewechselt werden&amp;#039;&amp;#039;&amp;#039;, da sich ansonsten alle &amp;#039;&amp;#039;&amp;#039;cHash-Werte&amp;#039;&amp;#039;&amp;#039; ändern. Dies würde zu sehr vielen neuen Einträgen in der DB führen. (Zudem kann dies unter Umständen den &amp;#039;&amp;#039;&amp;#039;Pagerank&amp;#039;&amp;#039;&amp;#039; bei Goole zerstören und &amp;#039;&amp;#039;&amp;#039;Abmeldelinks beim Newsletter&amp;#039;&amp;#039;&amp;#039; funktionieren auch nicht mehr).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Wenn TYPO3 Version 4.1+ verwendet wird, sollte man gegebenenfalls die Tabellen &amp;quot;index_...&amp;quot; komplett löschen und mit einem COMPARE im Install-Tool neu anlegen lassen. Wenn die Datenbank &amp;#039;&amp;#039;&amp;#039;InnoDB&amp;#039;&amp;#039;&amp;#039; unterstützt, werden die Tabellen dann auch als InnoDB-Tabellen angelegt. Hier können die Tabellen ausgelesen werden, obwohl vielleicht in diesem Augenblick ein Eintrag geschrieben wird. Die älteren &amp;#039;&amp;#039;&amp;#039;MyISAM-Tabellen werden nämlich während eines Schreibzugriffs komplett gesperr&amp;#039;&amp;#039;&amp;#039;t.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Nach den Optimierungen sollten die Tabellen wenigstens geleert werden&amp;#039;&amp;#039;&amp;#039;, damit die überflüssigen Daten dann auch nicht mehr in der DB liegen bleiben. Danach sollte auch im TYPO3-Backend unter Web-&amp;gt;Info-&amp;gt;Indexed search-&amp;gt;Technical Details überprüft werden, ob die Änderungen zum Erfolg geführt haben, oder ob noch unnötige Einträge vorhanden sind.&lt;br /&gt;
&lt;br /&gt;
=== Performance Fragen ===&lt;br /&gt;
Wenn es mehr Seiten werden kann die indexed Search Extension zum Performance Killer werden.&lt;br /&gt;
Dafür gibt es mehrere Gründe:&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;1. Die Volltextsuche http://bugs.typo3.org/view.php?id=5089&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
Es gibt aus Gründen der Kompatibilität keinen fulltext index in den Tabellen. &lt;br /&gt;
Daher schlägt Peter Russ im Bugtracker vor: fulltext index to index_fulltext.fulltext and index_words.baseword&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;2. changed query in class.tx_indexedsearch.php to use fulltext&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
capabilites of MySql.&lt;br /&gt;
Das ist im obigen Link im verlinkten diff File beschrieben. Großer Performance Gewinn, allerdings keine Teilsuche (typo findet auch typo2) mehr möglich.&lt;br /&gt;
nochmal zu der Änderung zur Performance-Steigerung:&lt;br /&gt;
&lt;br /&gt;
in der typo3/sysext/indexed_search/pi/class.tx_indexedsearch.php &lt;br /&gt;
ungefähr Zeile 820 sollte muss case 1 bis 3 aukommentiert werden und &lt;br /&gt;
case 10 noch angepast werden, so dass es dann so aussehen sollte:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
// Perform search for word:&lt;br /&gt;
			switch($theType)	{&lt;br /&gt;
&lt;br /&gt;
/*&lt;br /&gt;
  * can&amp;#039;t see any difference in this cases, but Kaspar might know&lt;br /&gt;
				case &amp;#039;1&amp;#039;:&lt;br /&gt;
					$wSel = &amp;quot;IW.baseword LIKE &lt;br /&gt;
&amp;#039;%&amp;quot;.$GLOBALS[&amp;#039;TYPO3_DB&amp;#039;]-&amp;gt;quoteStr($sWord, &amp;#039;index_words&amp;#039;).&amp;quot;%&amp;#039;&amp;quot;;&lt;br /&gt;
					$res = $this-&amp;gt;execPHashListQuery($wSel,&amp;#039; AND is_stopword=0&amp;#039;);&lt;br /&gt;
				break;&lt;br /&gt;
				case &amp;#039;2&amp;#039;:&lt;br /&gt;
					$wSel = &amp;quot;IW.baseword LIKE &amp;#039;&amp;quot;.$GLOBALS[&amp;#039;TYPO3_DB&amp;#039;]-&amp;gt;quoteStr($sWord, &lt;br /&gt;
&amp;#039;index_words&amp;#039;).&amp;quot;%&amp;#039;&amp;quot;;&lt;br /&gt;
					$res = $this-&amp;gt;execPHashListQuery($wSel,&amp;#039; AND is_stopword=0&amp;#039;);&lt;br /&gt;
				break;&lt;br /&gt;
				case &amp;#039;3&amp;#039;:&lt;br /&gt;
					$wSel = &amp;quot;IW.baseword LIKE &lt;br /&gt;
&amp;#039;%&amp;quot;.$GLOBALS[&amp;#039;TYPO3_DB&amp;#039;]-&amp;gt;quoteStr($sWord, &amp;#039;index_words&amp;#039;).&amp;quot;&amp;#039;&amp;quot;;&lt;br /&gt;
					$res = $this-&amp;gt;execPHashListQuery($wSel,&amp;#039; AND is_stopword=0&amp;#039;);&lt;br /&gt;
				break;&lt;br /&gt;
*/&lt;br /&gt;
				case &amp;#039;1&amp;#039;:&lt;br /&gt;
				case &amp;#039;2&amp;#039;:&lt;br /&gt;
				case &amp;#039;3&amp;#039;:&lt;br /&gt;
					$wSel=&amp;#039;match(IW.baseword) &lt;br /&gt;
against(&amp;quot;&amp;#039;.$GLOBALS[&amp;#039;TYPO3_DB&amp;#039;]-&amp;gt;quoteStr($sWord, &amp;#039;index_words&amp;#039;).&amp;#039;&amp;quot;)&amp;#039;;&lt;br /&gt;
					$res = $this-&amp;gt;execPHashListQuery($wSel,&amp;#039; AND is_stopword=0&amp;#039;);&lt;br /&gt;
					break;		&lt;br /&gt;
				case &amp;#039;10&amp;#039;:&lt;br /&gt;
					$wSel = &amp;#039;IW.metaphone = &amp;#039;.$this-&amp;gt;indexerObj-&amp;gt;metaphone($sWord);&lt;br /&gt;
					$res = $this-&amp;gt;execPHashListQuery($wSel,&amp;#039; AND is_stopword=0&amp;#039;);&lt;br /&gt;
				break;&lt;br /&gt;
				case &amp;#039;20&amp;#039;:&lt;br /&gt;
					$res = $GLOBALS[&amp;#039;TYPO3_DB&amp;#039;]-&amp;gt;exec_SELECTquery(&lt;br /&gt;
								&amp;#039;ISEC.phash&amp;#039;,&lt;br /&gt;
								&amp;#039;index_section ISEC, index_fulltext IFT&amp;#039;,&lt;br /&gt;
								&amp;#039;match(IFT.fulltextdata) &lt;br /&gt;
against(\&amp;#039;&amp;#039;.$GLOBALS[&amp;#039;TYPO3_DB&amp;#039;]-&amp;gt;quoteStr($sWord, &lt;br /&gt;
&amp;#039;index_fulltext&amp;#039;).&amp;#039;\&amp;#039;) AND&lt;br /&gt;
									ISEC.phash = IFT.phash&lt;br /&gt;
									&amp;#039;.$this-&amp;gt;sectionTableWhere(),						&lt;br /&gt;
								&amp;#039;ISEC.phash&amp;#039;&lt;br /&gt;
							);&lt;br /&gt;
					$wSel = &amp;#039;1=1&amp;#039;;&lt;br /&gt;
					if ($this-&amp;gt;piVars[&amp;#039;type&amp;#039;]==20)	$this-&amp;gt;piVars[&amp;#039;order&amp;#039;] = &amp;#039;mtime&amp;#039;;	 &lt;br /&gt;
// If there is a fulltext search for a sentence there is a likeliness &lt;br /&gt;
that sorting cannot be done by the rankings from the rel-table (because &lt;br /&gt;
no relations will exist for the sentence in the word-table). So &lt;br /&gt;
therefore mtime is used instaed. It is not required, but otherwise some &lt;br /&gt;
hits may be left out.&lt;br /&gt;
				break;&lt;br /&gt;
				default:&lt;br /&gt;
					$wSel = &amp;#039;IW.wid = &amp;#039;.$hash = $this-&amp;gt;indexerObj-&amp;gt;md5inthash($sWord);&lt;br /&gt;
					$res = $this-&amp;gt;execPHashListQuery($wSel,&amp;#039; AND is_stopword=0&amp;#039;);&lt;br /&gt;
				break;&lt;br /&gt;
			}&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Weiterhin muss wie beschreiben z.b mittels phpmyadmin-Interface der &lt;br /&gt;
Index-Typ des Indizes fulltext in der Tabelle index_fulltext auf &lt;br /&gt;
FULLTEXT gesetzt werden, sowie in der Inidize baseword in der Tabelle &lt;br /&gt;
index_words auf FULLTEXT.&lt;br /&gt;
&lt;br /&gt;
In der t.dev-Liste haben sie lange darüber diskutiert, wie es &lt;br /&gt;
integrierbar ist. Problem ist wohl, dass der FULLTEXT-Index in anderen &lt;br /&gt;
DB-Systemen nicht unterstützt wird, und die Sache ja kompatibel bleiben &lt;br /&gt;
soll. Es gab ein paar gute Lösungsansätze und irgendwann wirds sicher &lt;br /&gt;
konfigurierbar.&lt;br /&gt;
&lt;br /&gt;
Noch zu der Frage:&lt;br /&gt;
 &amp;gt; Geht eine täglich Re-Indizierung nicht ziemlich auf en Traffic bzw.&lt;br /&gt;
 &amp;gt; Serverperformance? Ganz davon abgesehen, dass ich von cronjob&amp;#039;s auch&lt;br /&gt;
 &amp;gt; nicht viel weiss... Wie sähe denn so ein cronjob aus?&lt;br /&gt;
&lt;br /&gt;
Sinnvollerweise realisiert man dass so, dass die Re-Indexierung in der &lt;br /&gt;
Nacht läuft. Weiterhin kann man dann ausschalten, dass die Seiten im &lt;br /&gt;
Frontend überhaupt indexiert werden - bringt also sogar einen &lt;br /&gt;
Performance Vorteil.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;3. Mehrfach indizierte Inhalte bei tt_news&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
Lösung aus der Mailing Liste:&lt;br /&gt;
&lt;br /&gt;
Die mehrfachindizierung bei tt_news habe ich hoffentlich dadurch &lt;br /&gt;
gelöst, indem ich dontUseBackPid = 1 verwende und nur jeweils die &lt;br /&gt;
SINGLE-News-Seite indizieren lasse. D. h. ich habe bei den LIST und &lt;br /&gt;
LATEST Seiten &amp;quot;Nicht suchen&amp;quot; aktiviert. Ist das so richtig?&lt;br /&gt;
&lt;br /&gt;
== Ein Suchfeld ins Template einbinden ==&lt;br /&gt;
Hinweis: dies beschreibt die Einbindung eines Suchfeldes der indexed_search Extension. Wie man ein Suchfeld für die Standard Suche einbindet siehst du hier:&lt;br /&gt;
&lt;br /&gt;
[[TYPO3 - Standard Suche auf jeder Seite einbinden]]&lt;br /&gt;
&lt;br /&gt;
==== Extension einbinden ====&lt;br /&gt;
Indexed Search Engine (indexed_search)installieren&lt;br /&gt;
(Standardmäßig vorhanden)&lt;br /&gt;
&lt;br /&gt;
Translation Handling -&amp;gt; Übersetzungen aktualisieren&lt;br /&gt;
&lt;br /&gt;
==== HTML-Template &amp;amp; CSS ====&lt;br /&gt;
Beispiel: &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    &amp;lt;div id=&amp;quot;searchBox&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
===== Einschränken des Suchbereichs im Template =====&lt;br /&gt;
Im Template werden folgende Marker eingesetzt:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 &amp;lt;!--TYPO3SEARCH_begin--&amp;gt;&lt;br /&gt;
 ...&lt;br /&gt;
 &amp;lt;!--TYPO3SEARCH_end--&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sind keine Marker vorhanden wird alles Durchsucht ist nur einer der Marker vorhanden wird alles nach (begin Marker) bzw. vor (end Marker) dem Marker durchsucht&lt;br /&gt;
&lt;br /&gt;
===== CSS =====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#searchBox input{&lt;br /&gt;
  width: 140px;&lt;br /&gt;
}&lt;br /&gt;
#searchBox input.searchBox-button{&lt;br /&gt;
position: relative;&lt;br /&gt;
border: none;&lt;br /&gt;
width: auto;&lt;br /&gt;
top: 2px;&lt;br /&gt;
}&lt;br /&gt;
div.tx-indexedsearch-whatis{&lt;br /&gt;
padding-left: 12px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Konfiguration der Extension ====&lt;br /&gt;
&lt;br /&gt;
TypoScript indexedSearch-config (V1.1)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Constants &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
searchRoot = 1&lt;br /&gt;
searchResultPage = 4&lt;br /&gt;
searchPic = fileadmin/common/images/lupe.gif&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Setup&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
plugin.tx_indexedsearch._CSS_DEFAULT_STYLE &amp;gt;&lt;br /&gt;
page.config.index_enable = 1&lt;br /&gt;
config{&lt;br /&gt;
   # Index-Suche einschalten&lt;br /&gt;
   index_enable = 1 &lt;br /&gt;
   # Externe Dateien auch durchsuchen (pdf,doc...benötigt Erweiterungen)       &lt;br /&gt;
   index_externals = 0&lt;br /&gt;
}&lt;br /&gt;
plugin.tx_indexedsearch{&lt;br /&gt;
   # Startpunkte der Suche (12,45...)&lt;br /&gt;
   search.rootPidList = {$searchRoot}&lt;br /&gt;
   # Diverse Optionen zur Anzeige im Frontend...&lt;br /&gt;
   show.rules = 0&lt;br /&gt;
   show.resultNumber = 0&lt;br /&gt;
   blind.sections = 1&lt;br /&gt;
   show.L1sections = 0&lt;br /&gt;
   show.L2sections = 0&lt;br /&gt;
   show.advancedSearchLink = 0&lt;br /&gt;
&lt;br /&gt;
   # auf bestimmte Medientypen einschränken&lt;br /&gt;
   # search.mediaList = pdf, doc&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Temporäres Objekt für das Suchfeld (in neueren Versionen auch Templates möglich &lt;br /&gt;
# es kann auch die macina Searchbox eingesetzt werden (Template Support Mehrsprachigkeit...)&lt;br /&gt;
&lt;br /&gt;
temp.searchBox = TEXT&lt;br /&gt;
temp.searchBox.insertData = 1&lt;br /&gt;
temp.searchBox.value (&lt;br /&gt;
&amp;lt;div class=&amp;quot;searchBox&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;form action=&amp;quot;index.php?id={$searchResultPage}&amp;amp;tx_indexedsearch[sword]&amp;quot; method=&amp;quot;post&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;input type=&amp;quot;text&amp;quot; name=&amp;quot;tx_indexedsearch[sword]&amp;quot; value=&amp;quot;Suche&amp;quot; class=&amp;quot;searchBox-field&amp;quot; title=&amp;quot;Suche&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;input type=&amp;quot;image&amp;quot; src=&amp;quot;{$searchPic}&amp;quot; alt=&amp;quot;Start&amp;quot; title=&amp;quot;Start&amp;quot; class=&amp;quot;searchBox-button&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;input type=&amp;quot;hidden&amp;quot; name=&amp;quot;stype&amp;quot; value=&amp;quot;L0&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;input type=&amp;quot;hidden&amp;quot; name=&amp;quot;scols&amp;quot; value=&amp;quot;tt_content.header-bodytext-imagecaption&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;input type=&amp;quot;hidden&amp;quot; name=&amp;quot;locationData&amp;quot; value=&amp;quot;{$searchResultPage}:pages:{$searchResultPage}&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/form&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
)&lt;br /&gt;
&lt;br /&gt;
#plugin.tx_macinasearchbox_pi1.pidSearchpage = {$searchResultPage}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Suche nur in der aktuellen Sprache ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# für die default-Sprache:&lt;br /&gt;
plugin.tx_indexedsearch._DEFAULT_PI_VARS.lang = 0&lt;br /&gt;
&lt;br /&gt;
# für die Sprache ?&amp;amp;L=1&lt;br /&gt;
[globalVar = GP:L = 1] &lt;br /&gt;
plugin.tx_indexedsearch._DEFAULT_PI_VARS.lang = 1&lt;br /&gt;
[global]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Oder für jede Sprache gültig:&lt;br /&gt;
plugin.tx_indexedsearch._DEFAULT_PI_VARS.lang &amp;lt; config.sys_language_uid&lt;br /&gt;
&lt;br /&gt;
==== Sprachlabels ====&lt;br /&gt;
Wie in Typo3 üblich z.B.:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
plugin.tx_indexedsearch._LOCAL_LANG.de.pi_list_browseresults_prev = &amp;amp;lt;&amp;amp;lt; &lt;br /&gt;
plugin.tx_indexedsearch._LOCAL_LANG.de.pi_list_browseresults_page =&lt;br /&gt;
plugin.tx_indexedsearch._LOCAL_LANG.de.pi_list_browseresults_next = &amp;amp;gt;&amp;amp;gt;&lt;br /&gt;
plugin.tx_indexedsearch._LOCAL_LANG.de.pi_list_browseresults_display = ###TAG_BEGIN###%s###TAG_END### - ###TAG_BEGIN###%s###TAG_END### (###TAG_BEGIN###%s###TAG_END###)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In manchen Versionen gibt es einen Fehler in der französichen Übersetzung deshalb:&lt;br /&gt;
&lt;br /&gt;
 plugin.tx_indexedsearch._LOCAL_LANG.fr.pi_list_browseresults_display = Résultat ###TAG_BEGIN###%s à %s###TAG_END### sur un total de ###TAG_BEGIN###%s###TAG_END###&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Suchergebnis:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
manchmal möchte man dem Suchergebnis eine eigene Überschrift statt des Seitennamens mitgeben. Das macht man mit:&lt;br /&gt;
 $GLOBALS[&amp;#039;TSFE&amp;#039;]-&amp;gt;indexedDocTitle = &amp;#039;suchtitel&amp;#039;&lt;br /&gt;
&lt;br /&gt;
==== im Main Template ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Setup:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 ### SearchBox ###&lt;br /&gt;
 subparts.searchBox &amp;lt; temp.searchBox&lt;br /&gt;
&lt;br /&gt;
=== Kleine Verbesserungen ===&lt;br /&gt;
Ein bischen Javascript kann den komfort verbessern:&lt;br /&gt;
&lt;br /&gt;
Beispiel&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 &amp;lt;input type=&amp;quot;text&amp;quot; onfocus=&amp;quot;if(this.value==&amp;#039;Seminarsuche&amp;#039;)this.value=&amp;#039;&amp;#039;;&amp;quot; onblur=&amp;quot;if(this.value==&amp;#039;&amp;#039;)this.value=&amp;#039;Seminarsuche&amp;#039;;&amp;quot; value=&amp;quot;Seminarsuche&amp;quot; name=&amp;quot;tx_indexedsearch[sword]&amp;quot; class=&amp;quot;searchbox-field&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Tutorial von Marlies Cohen ==&lt;br /&gt;
&lt;br /&gt;
When I first started with Typo3 Indexed Search gave me some problems. It is a very basic extension.&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
Place this line of code in the Setup of your TypoScript of your rootpage:&lt;br /&gt;
&lt;br /&gt;
    # Indexed Search activated&lt;br /&gt;
    page.config.index_enable = 1&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
Now comes the trick to get your pages indexed.&lt;br /&gt;
&lt;br /&gt;
-&amp;gt; Log out of Typo3&lt;br /&gt;
&lt;br /&gt;
-&amp;gt; Go to your home page&lt;br /&gt;
&lt;br /&gt;
-&amp;gt; Log back in to Typo3&lt;br /&gt;
&lt;br /&gt;
-&amp;gt; Now your pages should be cached and searchable&lt;br /&gt;
&lt;br /&gt;
     &lt;br /&gt;
&lt;br /&gt;
The reason for this is that as long as you are logged in to Typo3 your pages are not cached, once you log out and view pages they are cached. Knowing this saves a lot of hassles.&lt;br /&gt;
&lt;br /&gt;
== Clearing Indexed Search Cache ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-&amp;gt; switch to the &amp;quot;Info&amp;quot; module on the left and&lt;br /&gt;
&lt;br /&gt;
-&amp;gt; choose &amp;quot;indexed search&amp;quot; on the right dropdown (in the details view). now you can see all your pages that have been indexed&lt;br /&gt;
&lt;br /&gt;
-&amp;gt; click on the trash-item to delete the indexed record for a specific page-tree (attention: recursive!).&lt;br /&gt;
&lt;br /&gt;
== Optionen der indexed search ==&lt;br /&gt;
Da gibts ne ganze Menge:&lt;br /&gt;
&lt;br /&gt;
http://www.typo3.net/forum/list/list_post//27370/&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
plugin.tx_indexedsearch {&lt;br /&gt;
 blind {&lt;br /&gt;
        ###settings: 0=aktiv (sichtbar), -1 inaktiv (nicht sichtbar)&lt;br /&gt;
       &lt;br /&gt;
        ## Vergleichs-Typ (Ganzes Wort, Wortteil,etc)&lt;br /&gt;
        type=-1&lt;br /&gt;
       &lt;br /&gt;
        ## type default option (und /oder)&lt;br /&gt;
        defOp=0&lt;br /&gt;
       &lt;br /&gt;
        ## Bereich(e) der website&lt;br /&gt;
        sections=0&lt;br /&gt;
       &lt;br /&gt;
        ## Suche in Medientypen (erweiterungen)&lt;br /&gt;
        media=1&lt;br /&gt;
       &lt;br /&gt;
        ## Sortierung&lt;br /&gt;
        order=-1&lt;br /&gt;
       &lt;br /&gt;
        ## Ansicht (Sektionshierachie / Liste)&lt;br /&gt;
        group=-1&lt;br /&gt;
       &lt;br /&gt;
        ## Ansicht: Erweiterte Vorschau&lt;br /&gt;
        extResume = -1&lt;br /&gt;
       &lt;br /&gt;
        ## Sprachwahlbox&lt;br /&gt;
        lang=0&lt;br /&gt;
       &lt;br /&gt;
        ## Aufsteigend absteigend&lt;br /&gt;
        desc=-1&lt;br /&gt;
       &lt;br /&gt;
        ## Ergebnisse (Anzahl der Treffer pro Seite)&lt;br /&gt;
        results=-1&lt;br /&gt;
 }&lt;br /&gt;
 show {&lt;br /&gt;
        ###settings: 1=aktiv (sichtbar), 0 inaktiv (nicht sichtbar)&lt;br /&gt;
       &lt;br /&gt;
        ## zeige Kurzanleitung&lt;br /&gt;
        rules=1&lt;br /&gt;
       &lt;br /&gt;
        ## Erstellungsinformationen des Hashes&lt;br /&gt;
        parsetimes=1&lt;br /&gt;
       &lt;br /&gt;
        ## Zweite ebene im Bereichs-dropdown anzeigen&lt;br /&gt;
        L2sections=1&lt;br /&gt;
       &lt;br /&gt;
        ## Erste ebene im Bereichs-dropdown anzeigen&lt;br /&gt;
        L1sections=1&lt;br /&gt;
       &lt;br /&gt;
        ## Alle &amp;quot;nicht im menü&amp;quot; oder &amp;quot;im menü verstecken&amp;quot;&lt;br /&gt;
        ##(aber nicht &amp;quot;versteckte&amp;quot; seiten) mit anzeigen in section?&lt;br /&gt;
        LxALLtypes=0&lt;br /&gt;
       &lt;br /&gt;
        ## leeren des Suchfeldes nach suche&lt;br /&gt;
        clearSearchBox = 0&lt;br /&gt;
       &lt;br /&gt;
        ## Aktuelles suchwort zu den bisherigen suchwörtern hinzufügen&lt;br /&gt;
        clearSearchBox.enableSubSearchCheckBox=0&lt;br /&gt;
 }&lt;br /&gt;
 search {&lt;br /&gt;
        ## Seiten-Id auf der die Suchergebnisse ausgegeben werden sollen.&lt;br /&gt;
        ## Leer lassen entspricht auf gleicher Seite ausgeben&lt;br /&gt;
    rootPidList =&lt;br /&gt;
       &lt;br /&gt;
        ## Anzahl der auszugebenden treffer&lt;br /&gt;
    page_links = 10&lt;br /&gt;
 }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Scheint nicht zu funktionnieren&lt;br /&gt;
 &lt;br /&gt;
 plugin.tx_indexedsearch.search.page_links = 5&lt;br /&gt;
&lt;br /&gt;
stattdessen das hier verwenden:&lt;br /&gt;
&lt;br /&gt;
 plugin.tx_indexedsearch._DEFAULT_PI_VARS.results = 5&lt;/div&gt;</summary>
		<author><name>94.216.225.112</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Projekte&amp;diff=17594</id>
		<title>Projekte</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Projekte&amp;diff=17594"/>
		<updated>2011-03-02T09:46:59Z</updated>

		<summary type="html">&lt;p&gt;94.216.225.112: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Hilfen für div. Projekte ==&lt;br /&gt;
&lt;br /&gt;
[[Gesundheitsregion Reutlingen Tübingen Zollernalb]]&lt;br /&gt;
&lt;br /&gt;
== Projektsammlung (Referenzen) ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
www.tourismus-reutlingen.de&lt;br /&gt;
www.dekraaviation.de&lt;br /&gt;
www.baum-und-garten.de&lt;br /&gt;
www.geo-bit.de&lt;br /&gt;
www.gkk.de ?&lt;br /&gt;
hortense&lt;br /&gt;
siedlevoss&lt;br /&gt;
porsche&lt;br /&gt;
svo&lt;br /&gt;
hammetweil&lt;br /&gt;
oferdingen sportheim&lt;br /&gt;
u7&lt;br /&gt;
launer&lt;br /&gt;
aszwei&lt;br /&gt;
narda-sts&lt;br /&gt;
hb-tech ?&lt;br /&gt;
baywa&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>94.216.225.112</name></author>
	</entry>
</feed>