Eine Suchmaschine f - PowerPoint PPT Presentation

1 / 22
About This Presentation
Title:

Eine Suchmaschine f

Description:

Title: ht://Dig - eine Suchmaschine f r Webserver unter OpenVMS Author: Martin Vorl nder Description: 25. DECUS-Symposiums, Vortrag 3C05 Last modified by – PowerPoint PPT presentation

Number of Views:51
Avg rating:3.0/5.0
Slides: 23
Provided by: Martin655
Category:

less

Transcript and Presenter's Notes

Title: Eine Suchmaschine f


1
Eine Suchmaschine für Webserver unter OpenVMS
  • Martin Vorländer
  • mv_at_pdv-systeme.de

2
ht//Dig?
  • indizierende Suchmaschine mit Digger (Crawler,
    Harvester, Robot)
  • Einsatzgebiet einzelne Domänen oder Intranets
  • entwickelt an der San Diego State University, um
    die diversen Webserver auf dem Campus durchsuchen
    zu können
  • entwickelt unter Unix
  • geschrieben in C und C
  • lizensiert unter GNU General Public License (GPL)
    v2
  • Portierung der Versionen 3.1.5 / 3.1.6 nach
    OpenVMS Alpha mit Unterstützung und Ideen u.a.
    von
  • Patrick Young (University of New South Wales,
    Sydney)
  • Richard Barry (Compaq CSWS Project Team)

3
Features
  • Indizierung von HTML und Text
  • Externe Parser / Konverter konfigurierbar, z.B.
    zur Indizierung von
  • PDF (z.B. mit pdftotext aus dem XPDF-Paket)
  • MS-Word (z.B. mit catdoc)
  • Möglichkeit der Abbildung von URLs auf lokale
    Pfade
  • inkrementelle Indizierung
  • neben exakter Suche auch fuzzy-Suchalgorithmen
  • soundex, metaphone, common word endings, synonyms
  • Templates zur Ausgabe der Suchergebnisse
  • Datenhaltung mit Berkeley DB

4
Features (Forts.)
  • Eine Konfigurationsdatei
  • htdig.conf
  • Drei Phasen
  • Digging
  • Merging
  • Searching
  • Fünf Programme
  • htdig.exe (htdump.exe, htload.exe)
  • htmerge.exe / htfuzzy.exe / htnotify.exe
  • htsearch.exe

5
Konfiguration
  • Alle Konfigurationsanweisungen sind von der Form
  • ltattributgtltwhitespacegtltwertgtltnewlinegt
  • Zeilenfortsetzung mit \ am Zeilenende
  • Kommentare beginnen mit
  • Generelle Konfigurations-Attribute
  • database_dir bin_dirconfig_dir common_dir
    database_baseword_list word_dbdoc_db doc_in
    dexinclude

6
Konfiguration (Forts.)
  • Jedes Attribut kann als Variable benutzt werden,
    z.B.
  • database_base database_dir/db
  • Definition von eigenen Attributen (zur Verwendung
    als Variablen) möglich
  • Unter OpenVMS ist für Pfadangaben sowohl Unix-
    als auch VMS-Syntax erlaubt
  • Einschränkungen
  • in Pfadangaben müssen durch \ escaped werden
  • Auch wenn oben database_dir in VMS-Syntax gegeben
    sein sollteDer / als Trennzeichen muß angegeben
    werden
  • external_parsers und pdf_parser müssen gültige
    VMS-Kommandos enthalten

7
Phase 1 Digging
  • htdig.exe
  • Sammeln von Dokumenten
  • Verfolgen von Links
  • Extrahieren von Wörtern
  • start_url (auch mehrere)
  • external_parsers / pdf_parser
  • Steuerung der Extraktion von Wörtern
  • localeextra_word_charactersminimum_word_length
    / maximum_word_lengthvalid_punctuationallow_num
    bersignore_alt_text

8
Phase 1 Digging (Forts.)
  • Gewichtung von Wörtern aus bestimmten Teilen von
    HTML-Dokumenten
  • description_factor (150)keywords_factor (100)
    title_factor (100)meta_description_factor (50)
    heading_factor_N (5,4,3,1,1,0)
    N1..6text_factor (1)
  • Steuerung des Sammelns von Dokumenten
  • local_urls local_urls_onlylimit_urls_to excl
    ude_urlsmax_hop_count server_max_docsvalid_ext
    ensions bad_extensions

9
Phase 1 Digging (Forts.)
  • Steuerung des Sammelns von Dokumenten (Forts.)
  • ROBOTS.TXT
  • ltMETAgt HTML-Tag
  • ltMETA NAME"name" CONTENT"wert"gt
  • Erkannt und beachtet werden
  • robots
  • htdig-noindex
  • htdig-keywords (-gt keywords_meta_tag_names)
  • description (-gt use_meta_description)

10
Phase 2 Merging
  • htmerge.exe
  • Merge von vorheriger Datenbank mit neuen Wörtern
  • Aufbau eines Datenbank-Index über alle Dokumente
  • htfuzzy.exe
  • Erzeugen von Extra-Datenbanken aus Dateien(z.B.
    für common endings-Algorithmus aus
    ispell-Dateien)
  • htnotify.exe
  • EMail-Benachrichtigung nach Verfallsdatum eines
    HTML-Dokuments
  • gesteuert über spezielle ltMETAgt HTML-Tags
  • htdig-notification-datehtdig-emailhtdig-email-s
    ubject
  • außerdem diverse Konfigurations-Attribute

11
Phase 3 Searching
  • htsearch.exe
  • funktioniert sowohl als CGI-Programm als auch
    interaktiv
  • Parameterübergabe per Formular-Felder, u.a.
  • config zu verwendende Konfigurationsdatei
  • words zu suchende Wörter
  • keywords zwingend erforderliche Wörter
  • format Festlegen des Ausgabe-Templates
  • sort revscore, revtime, revtitle
  • method and, or, boolean
  • restrict Beschränken der gefundenen URLs
  • matchesperpage Anzahl der angezeigten Treffer
    pro Ergebnisseite

12
Phase 3 Searching (Forts.)
  • allow_in_form
  • Beeinflussung der Suche u.a. durch
  • search_algorithm backlink_factor (1000
    LinksIn/LinksOut)date_factor (0)startday /
    startmonth / startyearendday / endmonth /
    endyear
  • Die Ausgabe Templates
  • search_results_header / search_results_footersea
    rch_results_wrappertemplate_mapnothing_found_fil
    esyntax_error_file

13
Templates
  • Dateien mit HTML und Platzhalter-Variablen, z.B.
  • Documents (FIRSTDISPLAYED) - (LASTDISPLAYED)
    of (MATCHES) matches.
  • Verschiedene Ausprägungen
  • (VAR) "normale" Ersetzung
  • (VAR) Escaped für Benutzung in einer URL
  • z.B. lta href"/pfad/skript?seite(URL)"gt
  • (VAR) HTML-escaped
  • z.B. lta href"(URL)"gt(URL)lt/agt
  • (VAR) dekodiertes URL-Encoding Format (?)
  • Select-Listen, auch benutzerdefiniert
  • vordefiniert FORMAT, METHOD, SORT

14
Ein- und Ausgaben
15
ht//Dig unter OpenVMS
  • Voraussetzungen
  • OpenVMS Alpha 7.2
  • Compaq TCP/IP Services - eine Emulation tuts
    auch
  • eine Webserver-Software, die Executables
    ausführen kann(CSWS, WASD httpd, OSU httpd,
    Purveyor, ... jede eigentlich)
  • reichlich Plattenplatz
  • bei Verwendung der Quellen
  • Compaq C 6.x
  • Compaq C 6.x
  • Compaq MMS 3.3 oder MadGoat MMK 3.9

16
ht//Dig unter OpenVMS (Forts.)
  • Distribution als selbstentpackendes PCSI-Kit
  • Installation
  • RUN GNU-AXPVMS-HTDIG-V0301-6R1-1.PCSI-ZIP_AXPEXE
  • PRODUCT INSTALL HTDIG /DESTINATIONpfad
  • Verzeichnisstruktur

17
ht//Dig unter OpenVMS (Forts.)
  • Weitere Dateien
  • SYSCOMMONSYSSTARTUPHTDIG_STARTUP.COM
  • SYSCOMMONSYSMGRHTDIG_CONFIG_DEFAULT.DAT
  • SYSSPECIFICSYSMGRHTDIG_CONFIG.DAT
  • Logische Namen
  • HTDIG_ROOT PCSIDESTINATIONHTDIG.
  • HTDIG_CONFIG_DIR HTDIG_ROOTCONF
  • HTDIG_DEFAULT_CONFIG_FILE HTDIG_CONFIG_DIRHTDIG.C
    ONF
  • HTDIG_TEMP HTDIG_ROOTTEMP
  • LIBDB_SHR HTDIG_ROOTBINLIBDB_SHR.EXE

18
ht//Dig unter OpenVMS (Forts.)
  • Post-Installation
  • Kopieren von .CGI-BINHTSEARCH.EXE in ein
    CGI-Verzeichnis
  • Kopieren von .SEARCHSEARCH.HTML (anpassen!) und
    .IMAGE. in Webserver-Verzeichnisse
  • Änderung der Zugriffsrechte von DB.DIR,
    .COMMON. und .BINLIBDB_SHR.EXE derart, daß
    HTSEARCH.EXE unter dem Webserver-Account darauf
    Zugriff hat
  • _at_SYSSTARTUPHTDIG_STARTUP.COM CONFIG
  • _at_SYSSTARTUPHTDIG_STARTUP.COM START
  • Anpassen von HTDIG_CONFIG_DIRHTDIG.CONF
  • _at_HTDIG_ROOTBINRUNDIG.COM /OUTPUTRUNDIG.LOG
    -v -s
  • Test Zugriff mit Browser auf SEARCH.HTML

19
ht//Dig unter OpenVMS Ein Beispiel
  • Beispiel ein Compaq CSC
  • Indizierung von OpenVMS 7.3 Dokumentation und
    Listings
  • Anpassung der htdig-Quellen zur besseren
    Erkennung von Text-Dokumenten, z.B. .LIS .SDL .H
    .MAR ...
  • je zwei Läufe
  • nach dem ersten Lauf Erstellen einer
    bad_word_list (Wörter, die nicht indiziert werden
    sollen) per Programm
  • Hardware AlphaServer 8400 5/625 mit 6 CPUs
  • Daten des jeweils zweiten Laufes

20
Die Konkurrenz
  • SWISH-E
  • Simple Web Indexing System for Humans -
    Enhanced
  • Homepage http//swish-e.org/
  • OpenVMS-Binärdateienhttp//wasd.vsm.com.au/wasd/
    swish.zip
  • für Alpha und VAX
  • ursprünglich nur Filesystem-Indizierung,
    mittlerweile webfähig
  • Portierung von SWISH-E V1.1 war die Suchmaschine
    bei Process Softwares Purveyor
  • mittlerweile V2.0
  • einfachere Konfiguration und höhere
    Indizierungsgeschwindigkeit, aber dafür
    eingeschränktere Funktionalität...

21
Links
  • Die OpenVMS-Distribution ftp//ftp.pdv-systeme.d
    e/vms/ und http//www.pdv-systeme.de/users/mar
    tinv/htdig/
  • gnu-axpvms-htdig-v0301-6r1-1.pcsi-zip_axpexe
    (4099 blocks)
  • Die Quellen des OpenVMS-Ports
    ftp//ftp.pdv-systeme.de/vms/ und
    http//www.pdv-systeme.de/users/martinv/htdig/
  • htdig-3_1_6-vms-rel1-src.zip (9635 blocks)
  • Die Homepage des Originals http//www.htdig.org/
    http//htdig.sourceforge.net/

22
Fragen?
Fragen?
Write a Comment
User Comments (0)
About PowerShow.com