HtDig (aus Wiki)
Suchmaschine ht://Dig
ht://Dig ist der Klassiker unter den SuchMaschinen.
The ht://Dig system is a complete world wide web indexing and searching system for a domain or intranet. This system is not meant to replace the need for powerful internet-wide search systems like Lycos, Infoseek, Google and AltaVista. Instead it is meant to cover the search needs for a single company, campus, or even a particular sub section of a web site.
ht://Dig was developed at San Diego State University as a way to search the various web servers on the campus network.
Features:
- Boolean search
- Excerpts
- HTML and Text Files
- RTF2HTML
- doc2html (OpenOffice)
- ….
Installation
- Definitive Software Library ID: htdig
- Name: ht://Dig
- Version: 3.2.0b6 (v3.1.6 tested under Cygwin)
- Hersteller/Bezugsquelle: http://www.htdig.org http://sourceforge.net/projects/htdig
- Systemvoraussetzungen: Cygwin, Perl, gcc, make, Apache
- Installations-Ordner:
- Indexer: D:\htdig, D:\home\htdig (exe files)
- Searcher: CGI (exe files)
- Konfigurations-Dateien: htdig.conf ( s.u. )
Konfiguration
Idiot’s Guide to Installing ht://Dig on Win32: http://www.htdig.org/files/contrib/guides/Installing_on_Win32.html
5. Lösung mit ht://Dig
5.1 Beschaffung
ht://Dig Version 3.1.6 wurde von sourceforge.net beschafft und zum Testen auf Win98 unter Cygwin umgewandelt.
Dabei hat der ” target=”_blank” Guide to installing ht://Dig on Win32 sehr geholfen.
Die Produktiv-Version der Suchmaschine soll unter Linux (SuSE 8.0) laufen und dort war ht://Dig 3.1.5 bereits als Bestandteil der Erstinstallation vorhanden.
5.2 Konfiguration: htdig.config
- max_head_length: 10000 –> 50000
- max_doc_size: 200000
- description_meta_names: description
- keywords_meta_names: keywords
- maximum_word_length: 12 —> 24
- bad_extensions: .mid .swf .asf .mp3
- locale: de_DE
- translate_quot: true
5.3 Indexing
cd /opt/www/htdig/bin<br>./htdig -v -c ../conf/htdig.conf<br>./htmerge -v -c ../conf/htdig.conf
5.4 Searching
<form method="post" action="http://myserver/cgi-bin/htsearch%22> <input type="hidden" name="method" value="and"> <input type="hidden" name="format" value="builtin-long"> <input type="hidden" name="sort" value="score"> <input type="hidden" name="config" value="htdig"> <input type="hidden" name="restrict" value=""> <input type="hidden" name="exclude" value=""> <p>Search this Website:</p> <input type="text" size="15" name="words" value="" style="background-color: 99CCFF;"> <input type="submit" value="Suchen"> </form>
6. Erweiterungen
ht://Dig benutzt seit Version 3.1.0 als Datenbank “Berkeley DB2” ([[1]] ).
Die Idee ist, mit PHP auf diese Datenbank zuzugreifen. Dazu muss ein PHP mit DBA-Unterstützung beim Web-Hosting-Provider vorhanden sein und dann als “DBA-Handler” db2 unterstützen. Tests mit phpinfo() ergaben:
SuSE 8.0 mit PHP 4.1.0
dba: DBA support enabled. Supported handlers: gdbm ndbm
Win98 mit PHP 4.1.1
dba: DBA support enabled. Supported handlers: db3
Provider free.fr mit PHP 4.2.2
dba: DBA support enabled. Supported handlers: ndbm db2
Erstes PHP-Script “phpdbatest1.php” zum Lesen der ht://Dig Berkeley DB2 Dokumentendatenbank[edit]
Näheres bei Colin Viebrock: <a href=”http://www.devshed.com/Server_Side/PHP/Search_This/Page1.html“>http://www.devshed.com/Server_Side/PHP/Search_This/Page1.html</a>
<?php $id = dba_open("db.docdb","r","db2"); if ($id) { echo "<p>dba_open succsessful</p>"; $key = dba_firstkey ($id); $i = 0; while ($key != false) { $i = $i + 1; echo "$i: $key <br>"; $key = dba_nextkey ($id); } echo "<h3>nextDocID: " + dba_fetch("nextDocID",$id) + "</h3>"; dba_close($id); } else { echo "dba_open failed\n"; } ?>
<a href=”http://Dietrich.Kracht.free.fr/phpdbatest1.php” target=”_blank”>Testweiser Aufruf dieses PHP-Scripts</a>.
Perl-Script zum Lesen der ht://Dig Berkeley DB2 Dokumentendatenbank
In www.cpan.org findet man das Perl Modul htdig-database-0.52 womit man mithilfe von Perl-Scripts in ht://Dig-datenbanken lesen kann. Diese aktuelle Version funtioniert auch mit ht://Dig 3.1.5 mit der Berkeley DB2 Datenbank.
Testaufruf:
cd \htdig\bin perl listdocdb -v ../conf/htdig.conf
Durch Beschäftigung mit diesem perl-Skript kann man sicher eine Menge über die Struktur der Datenbank lernen und die Erkenntniise auf PHP übertragen……
— Main.DietrichKracht – 24 Jan 2004