Difference between revisions of "HtDig"

From Dietrich Blog (Strato)
Jump to: navigation, search
(Replaced content with "Has been moved to: http://blog.kr8.de/wiki-htdig/")
 
Line 1: Line 1:
=Suchmaschine ht://Dig =
+
Has been moved to: http://blog.kr8.de/wiki-htdig/
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|Cygwin]], [[Perl|Perl]], gcc, make,  [[Apache|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 [http://www.htdig.org/files/contrib/guides/Installing_on_Win32.html" 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 ====
 
<p align="left">max_head_length: &nbsp;&nbsp;&nbsp;&nbsp;10000&nbsp;--&gt; 50000</p>
 
<p align="left">max_doc_size: &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;200000</p>
 
<p align="left">description_meta_names: description</p>
 
<p align="left">keywords_meta_names: &nbsp;&nbsp;keywords</p>
 
<p align="left">maximum_word_length: &nbsp;&nbsp;&nbsp;12  ---&gt; 24</p>
 
<p align="left">bad_extensions: &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.mid .swf &nbsp;.asf &nbsp;.mp3</p>
 
<p align="left">locale: &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;de_DE</p>
 
<p align="left">translate_quot: &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;true</p>
 
 
 
====5.3 Indexing ====
 
 
 
<pre>
 
cd&nbsp;&nbsp;/opt/www/htdig/bin<br>./htdig -v -c ../conf/htdig.conf<br>./htmerge -v -c ../conf/htdig.conf
 
</pre>
 
 
 
====5.4 Searching ====
 
<p>&nbsp;&nbsp;&lt;form method=&quot;post&quot; action=&quot;http://myserver/cgi-bin/htsearch&quot;&gt;</p>
 
 
 
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;input type=&quot;hidden&quot; name=&quot;method&quot; value=&quot;and&quot;&gt;</p>
 
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;input type=&quot;hidden&quot; name=&quot;format&quot; value=&quot;builtin-long&quot;&gt;</p>
 
 
 
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;input type=&quot;hidden&quot; name=&quot;sort&quot; value=&quot;score&quot;&gt;</p>
 
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;input type=&quot;hidden&quot; name=&quot;config&quot; value=&quot;htdig&quot;&gt;</p>
 
 
 
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;input type=&quot;hidden&quot; name=&quot;restrict&quot; value=&quot;&quot;&gt;</p>
 
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;input type=&quot;hidden&quot; name=&quot;exclude&quot; value=&quot;&quot;&gt;</p>
 
 
 
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;p&gt;Search this  Website:&lt;/p&gt;</p>
 
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;input type=&quot;text&quot; size=&quot;15&quot; name=&quot;words&quot; value=&quot;&quot; style=&quot;background-color: 99CCFF;&quot;&gt;</p>
 
 
 
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;input type=&quot;submit&quot; value=&quot;Suchen&quot;&gt;</p>
 
<p>&nbsp;&nbsp;&nbsp;&lt;/form&gt;</p>
 
 
 
===6. Erweiterungen ===
 
ht://Dig benutzt seit Version 3.1.0  als Datenbank &quot;Berkeley DB2&quot; ([[http://sleepycat.com|http://sleepycat.com]] ).
 
 
 
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  &quot;DBA-Handler&quot; 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 &quot;phpdbatest1.php&quot; zum Lesen der ht://Dig Berkeley DB2 Dokumentendatenbank ====
 
<p align="left">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>
 
</p>
 
<p align="left">&nbsp;</p>
 
<p>&lt;?php</p>
 
<p>$id = dba_open(&quot;db.docdb&quot;,&quot;r&quot;,&quot;db2&quot;);</p>
 
 
 
 
<p>if ($id) {</p>
 
<p>&nbsp;&nbsp;&nbsp;echo &quot;&lt;p&gt;dba_open succsessful&lt;/p&gt;&quot;;</p>
 
<p>&nbsp;&nbsp;&nbsp;$key = dba_firstkey ($id); &nbsp;&nbsp;</p>
 
<p>&nbsp;&nbsp;&nbsp;$i = 0;</p>
 
<p>&nbsp;&nbsp;&nbsp;while ($key != false) {</p>
 
 
 
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$i = $i + 1;</p>
 
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo &quot;$i: $key &lt;br&gt;&quot;;</p>
 
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$key = dba_nextkey
 
($id);</p>
 
<p>&nbsp;&nbsp;&nbsp;}</p>
 
<p>&nbsp;&nbsp;&nbsp;echo &quot;&lt;h3&gt;nextDocID:
 
&quot; + dba_fetch(&quot;nextDocID&quot;,$id) + &quot;&lt;/h3&gt;&quot;;</p>
 
 
 
<p>&nbsp;&nbsp;&nbsp;dba_close($id);</p>
 
<p>} else {</p>
 
<p>&nbsp;&nbsp;&nbsp;echo &quot;dba_open failed\n&quot;;</p>
 
<p>}</p>
 
 
<p>?&gt;</p>
 
 
 
<p align="left">&nbsp;</p>
 
<p align="left"><a href="http://Dietrich.Kracht.free.fr/phpdbatest1.php" target="_blank">Testweiser
 
Aufruf dieses PHP-Scripts</a>.</p>
 
 
====Perl-Script zum Lesen der ht://Dig Berkeley DB2 Dokumentendatenbank</h4> ====
 
In [http://www.cpan.org 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:
 
<pre>
 
&nbsp;&nbsp;&nbsp;cd \htdig\bin
 
&nbsp;&nbsp;&nbsp;perl listdocdb -v ../conf/htdig.conf
 
</pre>  
 
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
 

Latest revision as of 13:13, 29 April 2020

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