HtDig

From Dietrich Blog (Strato)
Revision as of 21:09, 16 June 2007 by Dkracht (talk | contribs)

Jump to: navigation, search

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
  • PDF
  • 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