Difference between revisions of "SuchMaschinen"

From Dietrich Blog (Strato)
Jump to: navigation, search
(Replaced content with "Has been moved to: http://blog.kr8.de/wiki-suchmaschinen/")
 
Line 1: Line 1:
--> blog.kr8.de
+
Has been moved to: http://blog.kr8.de/wiki-suchmaschinen/
{{TOCright}}
 
= Suchen und Finden =
 
Siehe auch: [[CopernicDesktopSearch]], [[YahooDesktopSearch]], [[Google]], [[Metadaten]], [[DesktopSuchmaschine]]
 
== Meine Anforderungen ==
 
Die wichtigste Funktion meines Wissensmanagements (KnowledgeManagement) ist, Dinge wiederaufzufinden, die ich schon irgendwo (auf meinem PC oder in Papierablagen) habe. Darüberhinaus kommt es vor, dass ich Informationen aus fremden Quellen suche.
 
* Klassich ist der Fall eines Archivs, das in spezieller Form Dinge abspeichert, nach denen dann mit speziellen Suchfunktionen gesucht werden kann.
 
* Auch klassisch ist heutzutage das Suchen im Internet, wo im einfachsten Fall nach HTML-Seiten gesucht wird.
 
* Ich möchte möchte nun aber ganz schlicht und ergreifend in allen meinen Dateien auf meinem Notebook-Computer suchen. Für diesen Fall muss ein Index aufgebaut werden, der dann als Basis für Suchanfragen dient.
 
 
 
== Aufgabenstellung: Website-Indexer / Desktop-Indexer ==
 
Für meine eingene Website möchte ich eine Suchmaschine anbieten, mer Besucher, zusätzlich zur ausgeklügelten Navigation auch über eine Volltextsuche über alle meine Webseiten möglichst direkt das finden kann, was er/sie sucht.
 
 
 
Die dafür eventuell erforderlichen technischen Komponenten auf der Server-Seite müssen sehr genau überlegt werden, denn ein billiger Web-Hosting-Provider bietet da nur sehr wenig.
 
 
 
Zur Zeit ist die eigene Website bei t-online gehostet. Als Provider mit PHP und MySQL steht auch free.fr zur Verfügung.
 
 
 
Siehe auch: http://www.searchtools.com
 
 
 
== Lösungsarchitektur ==
 
Wichtig ist die Erkenntnis, das hier eine Schichtenarchitektur sinnvoll ist, wobei die untern dargestellten drei Schichten unterschiedliche systemtechnische Anforderungen aben und auch auch unterschiedlichen Systemplattformen laufen könnten.
 
 
 
=== Indexing - Harvesting ===
 
Man benötigt einen wirklich guten Indexer, der die Website wie ein Spider per HTTP-Protokoll durchläuft und dabei den auf der Oberfläche sichtbaren Text indiziert. Damit werden die Hyperlinks durchlaufen, dynamische inhalte (z.b. von PHP, ASP, JSP-Seiten) richtig behandelt, Zeichensätze (Umlaute) richtig beachtet und ggf. weitere Dokumenttypen (PDF, MicrosoftWord, PowerPoint,...) auch verarbeitet.
 
 
 
Das Ergbnis ist eine Dokumentliste und eine Wortliste.
 
 
 
Diese Komponente muss nicht notwendig als Web-Applikation laufen.
 
 
 
=== Schnelle Indexdatenbank ===
 
Die in der Stufe 1 (Indexing/Harvesting) gewonnenen "Rohdaten" werden jetzt veredelt und für den Zweck des schnellen Suchzugriffs optimiert aufbereitet.
 
 
 
Diese Komponente muss nicht notwendig als Web-Applikation laufen.
 
 
 
=== Schnelle Such-Oberfläche ===
 
Über ein HTML-Formular soll der Anwender seine Suchbegriffe eingeben. Das Suchergebniss soll dann als Fundstellenliste präsentiert werden.
 
 
 
Diese Komponente muss zwingend als Web-Applikation laufen.
 
 
== Lösungsmöglichkeiten ==
 
# Fremdanbieter: Provider für solche Website-Suchmaschinen
 
# ht://Dig  (SourceForge)
 
# mnogosearch
 
# siteIndexer  (SourceForge)
 
# [[dtSearch]]
 
# [[PerlfectSearch]]
 
 
 
=== Software für Suchmaschinen ===
 
Man hat sich ja an sehr schöne Suchfunktionen aus dem Internet  gewöhnt (früher Altavista, heute Google). Wenn man so etwas auf den lokalen PC übertragen könnte, wäre dann noch eine grosse Frage zusätzlich: Kann ich auch nach den Inhalten von Nicht-HTML-Dateien (z.B. MicrosoftWord, PowerPoint, PDF, E-Mails,...) suchen?
 
<dl>
 
<dt><b>Microsoft</b>:<dd>Da gab es zum Web-Server IIS schon immer einen Index-Server. Für den lokalen PC gibt es auch eine in Windows integrierte Suchfunktion nach Inhalten, die auf einem File-Indexer beruht.
 
<dt><b>Altavista</b>:<dd>Da gab es mal ein ''Personal Altavista'', mit dem man seine lokalen Daten durchsuchen konnte.
 
<dt><b>[[dtSearch|dtSearch]]</b>:<dd>Habe ich 2001 mal ausprobiert, war gut, aber ist auch teuer.
 
<dt><b>ht://Dig</b>:<dd>Eine sehr verbreitete klassische Index-/Such-Lösung. Einzelheiten unter HtDig.
 
<dt><b>Perlfect&nbsp;Search&nbsp;3.31</b>:<dd>Eine Index-/Such-Lösung in [[Perl|Perl]], die mein WebProvider-Provider Westhost unterstützt. Einzelheiten unter PerlfectSearch.
 
<dt><b>SearchBlox</b>:<dd>Eine in Java (J2EE) auf Basis von Jakarta Lucene (http://jakarta.apache.org/lucene/docs/index.html)  realisierte Suchmaschine. Kann auch Word, PowerPoint, PDF und Excel. Leider kommerziell und gepfefferte Preise.... http://www.searchblox.com
 
<dt><b>nutch</b>:<dd>Eine in Java (J2EE) auf Basis von Jakarta Lucene realisierte einfache OpenSourceSoftware http://www.nutch.org
 
<dt><b>ASPSeek</b>:<dd><i>Linux-only.</i> Free Software under GNU GPL. CGI-Fontend...  (http://www.aspseek.org)
 
<dt><b>mnoGoSearch</b>:<dd>... http://www.mnogosearch.org/win.html
 
<dt><b>Namazu</b>:<dd>....
 
<dt><b>sitesearch</b>:<dd>...Teil von....
 
<dt><b>Search&nbsp;Engine&nbsp;Builder&nbsp;Professional</b>:<dd>Indexiert Dokumenttypen: xyz. Baut lokale Suchmaschine (ASP, PHP, JavaScript - ohne MySQL), die z.B. auch für CD-ROMs und DVDs geeignet ist.
 
<dt><b>Search&nbsp;Maker&nbsp;Pro</b>:<dd>Indexiert Dokumenttypen: PDF, DOC, RTF, PPT, XLS,.. Dabei werden Dokumentinhalt und Dokument-Property-Felder indexiert. Es wird eine lokale, in sich abgeschlossene Suchmaschine generiert (ASP, PHP, JavaScript), die z.B. auch für CD-ROMs und DVDs geeignet ist.
 
</dl>
 
 
 
=== Update Oktober 2004: Desktop Search ===
 
<dl>
 
<dt>blinkx:<dd>Produkt "blinks 0.4.34" http://www.blinkx.com  Windows-Oberfläche, Dateien: ..., PDF, PPT, ZIP.  Aber völlig instabil. <br />Anstelle eines Pre-View gibt es ein Pop-Up-Fenster mit einem Abstract.
 
<dt>Copernic:<dd>Produkt "Copernic Desktop Search 1.0"  http://www.copernic.com/en/products/desktop-search Windows-Oberfläche, Dateien: TXT/RTF DOC XLS, PPT, Outlook-Mail, PDF, Music, Video, Pictures  (ZIP?????)
 
<dt>Enfish:<dd>Produkt Enfish "Professional 6.1" http://www.enfish.com Windows-Oberfläche, Dateien: ...PDF, PPT, ZIP-Inhalte, kommerziell
 
<dt>HotBot:<dd>Produkt "HotBot Desktop"  http://www.hotbot.com/tools/desktop
 
<dt>Google:<dd>Produkt "Google Desktop Search" http://desktop.google.com Dateien: TXT, DOC, XLS, PPT, Outlook-Mail  ('''PDF nicht''')
 
<dt>Filehand:<dd>Produkt "FilehandSearch 2.0"  http://www.filehand.com  Oberfläche: Windows, Dateien: TXT, DOC, XLS, PPT, PDF, MP3 (ZIP???)
 
<dt>SWISH-E:<dd>http://www.swish-e.org
 
<dt>Wilbur:<dd>Produkt "Wilbur 2.2" http://wilbur.redtree.com Oberfläche: Windows,...
 
<dt>X1&nbsp;Technologies:<dd>Produkt "[[X1Search]]" http://www.x1.com Oberfläche: Windows, ....
 
<dt>X-Dot:<dd>Produkt "x-friend 0.2" http://www.x-friend.de Browser-Oberfläche, Java-basiert, verwendet Apache-Lucene, Dateien: TXT, DOC, XLS, PPT, PDF, IMAP E-Mail, MP3 ID3 Tag, Bilder, ZIP-Archive,...
 
</dl>
 
 
 
=== Update Januar 2005: Desktop Search ===
 
<dl>
 
<dt>Yahoo&nbsp;Desktop&nbsp;Search:<dd>Yahoo hat sich mit X1Search zusammen getan und eine bessere Oberfläche geschaffen. Überragender Pluspunkt bleibt die Viewer-Technologie von X1Search (ex Magellan) YahooDesktopSearch
 
</dl>
 
 
 
==Meine Bewertung ==
 
 
 
{|class=wikitable
 
|-
 
| '''Produkt/Klasse''' || '''Pro''' || '''Contra'''
 
|-
 
| blinkx 0.4.34 || kann PDF, PPT und ZIP-Inhalte<br />E-Mail: Outlook und Eudora<br />kostenfrei || läuft extrem instabil unter Win2000<br />kommerziell<br />Thunderbird-E-Mail nicht unterstützt ||
 
|-
 
| [[CopernicDesktopSearch]] 1.0 <br />Desktop-Indexer || Dokumenten-Preview <br />On-the-fly indexing<br />Kleiner Index (Beispiel: 662MB/34MB) || E-Mail nur Outlook, nicht IMAP/POP3 <br /> Indiziert nicht den Inhalt von ZIP-Archiven!!!
 
|-
 
| [[dtSearch|dtSearch]] || Selbsttragende CD-Indizierung || teuer
 
|-
 
| Enfish 6.1 || kann PDF, PPT und ZIP-Inhalte <br />E-Mail Outlook, Lotus Notes, AOL-Mail <br />Schönes Pre-View|| E-Mail nicht Thunderbird <br /> kommerziell teuer
 
|-
 
| Filehand 2.0 || Windows-Oberfläche || Inhalte von ZIP-Archiven werden nicht indiziert 
 
|-
 
| Google ||  || PDF nicht indiziert<br />Nocht nicht fertig (Beta) ||
 
|-
 
| htDig <br />Website-Indexer || Bestandteil der Linux SuSE Edition || CGI-Binary muss kompiliert werden ([[Cygwin|Cygwin]])
 
|-
 
| mnogoserach ||  || 
 
|-
 
| PerlfectSearch <br />Website-Indexer || Plattformen Linux/Windows durch [[Perl|Perl]] <br /> Internationalisierung durch i18n <br />Website-Indexer || PDF und Word durch Third-Party-Zusätze 
 
|-
 
| Wilbur 2.2 <br />Desktop-Indexer || Inhalte von ZIP-Archiven werden indiziert<br />CD-ROM Indexing <br />QuickView support <br />Freeware || PDF und Thunderbird-Email wird indexiert <br /> Word und PowerPoint werden nicht indexiert.<br /> Kein Document Preview, aber Integration mit QuickView
 
|-
 
| [[X1Search|X1Search]] 04.09 <br />Desktop-Indexer || Inhalte von ZIP-Archiven werden indiziert<br />Dokument-Preview integriert<br />Guter PowerPoint-Preview || teuer: $99 <br /> Thunderbird-Email wird nicht indiziert<br />Im PPT-Preview wird nicht mit Autoscroll auf "first occurance" positioniert
 
|-
 
| x-friend 0.2<br />Desktop-Indexer || Plattformunabhägig durch Java <br />Beliebiger WebBrowser <br />Gut passend zur meiner Architektur ([[Java|Java]], WebBrowser, <br />Apache Lucene, IMAP...) <br />E-Mail IMAP<br />Selbsttragende CD-Indizierung || Inhalte von ZIP-Archiven werden nicht indiziert<br /> '''PowerPoint PPT wird nicht indiziert''' <br /> POP3-Email wird nicht indiziert <br />Preview von der Ansichsgrösse nicht einstellbar <br />Sehr schlichter PPT Preview
 
 
 
|}
 
 
 
== Meine Lösungsauswahl ==
 
Für das russische '''mnogoserach''' spricht die Verwendung von PHP für die Search-Funktion.
 
 
 
Allerdings wird ein modifiziertes PHP benutzt, das man sich selbst durch Compilation erzeugen muss. Da die Lösung bei einfachen Providern laufen soll, scheidet diese Variante aus.
 
 
 
Für die Variante '''ht://Dig''' spricht:
 
* Die sehr grosse Verbreitung und damit eine Sicherheit für eine mittelfristig gesicherte Nutzung
 
* ht://Dig wird als Bestandteil der SuSE 8.0 Edition mit ausgeliefert (binary)
 
* Eine Compilation unter Win98 mit Cygwin war auf Anhieb erfolgreich.
 
 
 
Nachteil bei ht://Dig ist nachwievor, dass die Such-Oberfläche als CGI-Executable realisiert ist. Nicht jeder Web-Hosting-Provider lässt "freie CGIs" zu.
 
 
 
Die Auswahl fiel trotzdem auf HtDig, da die Ausgereiftheit und Mächtigkeit der Funktionen sowie die solide Community einfach überzeugen. Der Nachteil der CGI-Suchoberfläche wird im Sinnne der Architektur in Kauf genommen, mit der Idee, dafür im Laufe der Zeit einen Austausch vorzunehmen. Die Idee ist, eine PHP-Suchoberfläche entweder direkt auf die Berkely-DB2-Datenbank zu setzten, oder die DB2 auf MySQL zu konvertieren und dann eine PHP-Oberfläche darauf zu setzen.
 
 
 
'''Mehr Komfort: Enfish oder Copernic oder X1Search'''
 
 
 
Enfish 6.1 und Copernic bestechen durch sehr elegante Windows-Oberflächen. Allerdings ist die Funktionalität von Copernic nicht ausreichend und Enfish 6.1, das sehr mit seiner Lotus-Notes-Email-Indexierung lockt, ist viel zu teuer. Es bleibt [[X1Search|X1Search]], das zwar nicht so elegant aussieht, aber durch solide Funktionalität überzeugt.
 
 
 
-----------------------
 
 
 
=== Indizieren: Was soll, was soll nicht indiziert werden ===
 
Da das aufbauen und Aktualisieren eines solchen Index erstens Zeit kostet und zweitens Platz kostet, loht es sich zu überlegen, welche Datei-Typen man wirklich indizieren will und welche man nicht indizieren will.
 
 
 
==== Postiv (sollen indiziert werden) ====
 
Zur Konfiguration von Indexern (Teil einer Suchmaschinen-Archtektur) benötigt man  MIME-Types und Parser für jeden MIME-Type:
 
 
 
{| border="1"
 
|-
 
| Extension || MIME Type || Parser
 
|-
 
| .dbf || application/dbase<br />application/x-dbase || ?
 
|-
 
| .doc || application/msword || catdoc aus: http://freshmeat.net/projects/catdoc/
 
|-
 
| .pdf || application/pdf || pdftotext.exe aus XPDF: http://www.foolabs.com/xpdf/
 
|-
 
| .rtf || application/rtf || ?
 
|-
 
| .xls || application/vnd.ms-excel || catdoc aus: http://freshmeat.net/projects/catdoc/ ||
 
|-
 
| .ppt || application/vnd.ms-powerpoint || ?
 
|-
 
| .html || text/html || OK
 
|-
 
| .htm || text/htm || OK
 
|-
 
| .svg || image/svg+xml || ?
 
|-
 
| .txt || text/plain || OK
 
|-
 
| .vsd || application/vnd.visio || Visio
 
|-
 
| .xml || text/xml<br />application/XML || ?
 
|-
 
| .xsl || ? || ?
 
|-
 
| .zip || application/zip || ?
 
|}
 
 
 
 
 
==== Negativ (sollen nicht indiziert werden) ====
 
* *.bak
 
* *.dbs
 
* *.dl_
 
* *.do_
 
* *.dsk
 
* *.ex_
 
* *.e2_
 
* *.ndx
 
* *.ffx (löschen)
 
* *.ffo (löschen)
 
* *.ffl   (löschen)
 
* *.ffa (löschen)
 
* *.pqi
 
* *.z
 
 
 
 
 
-- Main.DietrichKracht - 09 Jan 2004
 

Latest revision as of 08:55, 6 April 2020

Has been moved to: http://blog.kr8.de/wiki-suchmaschinen/