XHTMLforum

XHTMLforum (http://xhtmlforum.de/index.php)
-   Serveradministration und serverseitige Scripte (http://xhtmlforum.de/forumdisplay.php?f=80)
-   -   Suchfunktion für Website (http://xhtmlforum.de/showthread.php?t=52781)

planet4 19.07.2008 09:35

Suchfunktion für Website
 
Hallo,
ich brauche eine Suchfunktion für einen etwa 150 Seiten großen Webauftritt, es sind auch PDF-Dateien dabei - wie würdet ihr das machen: selbst programmieren oder auf Fertiges zurückgreifen (FreeFind??) Habt ihr irgendwelche Tipps?
(Ich hab so eine Suche schon einmal programmiert und hab es irgendwie in Erinnerung, dass es mit den PDF-Dateien so schwierig war)

planet4

Scheppertreiber 19.07.2008 10:19

Servus,

die PDFs auswerten ist nicht so tragisch, da gibt es Tools die die Texte
rausziehen. Problematisch ist es dann eher das gefundene Wort auf Seite 93
links unten anzuzeigen bzw zu markieren.

Das bekomme ich nur hin wenn ich die PDFs selbst erstelle, meines Wissens
läßt sich der Reader nicht auf diese Art steuern. Wenn die PDFs nur eine Seite
haben ist das unproblematisch. Im Notfall kann der User immer noch die im
Reader eingebaute Suchfunktion verwenden.

Vielleicht reicht es für die Website ja auch die Infoblöcke der PDFs anzuzeigen.

Bei der Trefferanzeige in einer HTML-Seite würde ich das parsen und den
gefundenen Treffern ein <span> mit einer Klasse verpassen die das quietschgelb
mit roten Punkten markiert. Bei Textdateien würde ich ebenso verfahren.

In jedem Fall eine kleine Datenbank mit den Schlagworten und den Dateien
erstellen, anhand der Extension (zb bei Windows) oder einem Dateityp dann
die Datei parsen und dabei absenden.

planet4 19.07.2008 11:21

Zitat:

Zitat von Scheppertreiber (Beitrag 394092)
Problematisch ist es dann eher das gefundene Wort auf Seite 93 links unten anzuzeigen bzw zu markieren.

Ja, darüber hab ich auch schon nachgedacht, aber das wäre zweitrangig. Die PDFs sind fast alle 4-6 Seiten lang, dann müssten die Leute eben selbst nach dem Wort suchen.

Zitat:

Zitat von Scheppertreiber (Beitrag 394092)
Vielleicht reicht es für die Website ja auch die Infoblöcke der PDFs anzuzeigen.

Was meinst du damit?

Zitat:

Zitat von Scheppertreiber (Beitrag 394092)
In jedem Fall eine kleine Datenbank mit den Schlagworten und den Dateien erstellen, anhand der Extension (zb bei Windows) oder einem Dateityp dann die Datei parsen und dabei absenden.

Das versteh ich nicht so ganz: meinst du, es sollte dann nur in der DB nach Schlagwörtern gesucht werden? Bei der Suche, die ich mal programmiert hab, hab ich jeweils die ganzen Dateien durchsuchen lassen, da war es dann aber auch möglich, jedes Wort, dass länger als 3 Zeichen war, zu finden, also nicht nur bestimmte, aussagekräftige Schlagwörter.

Vielen Dank jedenfalls!
planet4.

Scheppertreiber 19.07.2008 12:08

Du mußt diese Datenbank ja erstmal erstellen. Bei PDF gibt es die verrücktesten
Möglichkeiten, Text zu speichern. Der ist fast immer codiert.

Mittlerweile gibt es auch Scanprogramme die automatisch eine OCE durch den
Scan pflügen lassen und die gefundenen Worte im PDF ablegen, ideal um diese
dann herauszuziehen.

Infoblock:

Das PDF-Format besteht aus Datenblöcken, einer davon ist der Info-Block.
Erkennbar an zB:
Code:

% ------------------------------------------------------------------------
% Info-Block
% ------------------------------------------------------------------------

1 0 obj
  <<
  /Creator      (jdcc::wrtiff.c rel Jun 09 2008 / 09:57:56)
  /CreationDate (D:20080718142641)
  /ModDate      (D:20080718142641)
  /Title        (Druckversion)
  /Author      (JDCC Steinmark by Joe Drechsel)
  /Producer    (DeCodeTron GmbH)
  /Subject      (Internet Archiv)
  >>
endobj

Als (fast) reines ASCII-Format läßt sich PDF wunderbar parsen.

planet4 19.07.2008 13:59

also ich hab jetzt mal nachgeschaut:
Für der Suchfunktion hatte ich die Dateien, die durchsucht werden sollten (die Dateinamen) in eine Textdatei geschrieben, die dann ausgelesen wurden und die Dateien durchsucht, PDFs hatte ich zuvor irgendwie umständlich in HTML verwandelt, inzwischen kann ich das einfacher haben: die PDF als Textdatei exportieren. Ich würde auch nicht mehr mit einer Textdatei für die Dateinamen arbeiten, ich würde sie in einer DB aufnehmen.

Jetzt ist mir aber gerade noch etwas eingefallen, was es schwierig macht:
es gibt eine Seite mit aktuellen Meldungen, diese Meldungen werden aus einer Datenbank gelesen und umfassen mehrere Seiten. Das bedeutet ja, ich müsste die entsprechenden Felder der DB für die Suche mit einbeziehen. Wird z.B. etwas im 15. Eintrag gefunden und dieser Eintrag wird normalerweise auf Seite 5 ausgegeben (aktuelle-meldungen.php?page=5) ... da wird's schwierig, wie soll meine Suche das wissen? - na gut, irgendwie ist das wohl möglich, ich muss die Anzahl der Datensätze wissen und wie viel auf einer Seite ausgegeben werden und dann die Seite errechnen. :?

planet4


Alle Zeitangaben in WEZ +2. Es ist jetzt 07:24 Uhr.

Powered by vBulletin® Version 3.8.11 (Deutsch)
Copyright ©2000 - 2022, vBulletin Solutions, Inc.

© Dirk H. 2003 - 2022