HtDig
Contents
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 Texten 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
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</h4>
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