selfhtml.de - Alles für den Webmaster!

 

Empfehlung:

wix.com

Kostenlose Homepage

Besuchen Sie auch:

Jobs:

Re: Denkansätze für selbstgemachte Suchfunktion

Autor: T.Jung [Beiträge: 3683]
Datum: 24.01.2013 12:41:59

> > Nur, dass ich die Ergebnisse der Filter-Vorgänge
> > nicht in einer Textdatei, sondern einer Datenbank
> > speichern würde.
>
> Warum ist das denn sinnvoller?

Nehmen wir an, Du hast die Suchbegriffe in einer Tabellenspalte namens 'words' und die Dateien, in denen diese Begriffe vorkommen, in einer Spalte namens 'files'. Nun gibt jemand 'Kuchenbacken' als Suchbegriff ein. Bei einer DB kannst Du nun direkt die dazugehörigen Seiten selektieren, indem Du etwa einen solchen Query absetzt:
SELECT `files` FROM searchtable WHERE `words` LIKE "%kuchenbacken%"

Eine Textdatei müsstest Du erst komplett einlesen, z.B. mir der PHP-Funktion file(), welche den Inhalt der Datei als Array zurückliefert, und dieses Array dann durchsuchen. Eine DB ist in der Regel also schneller und ressourcenschonender.


> Was mir z.B.: gerade einfällt: eine Text-Datei
> kann man ja relativ simpel selber bearbeiten,
> sofern sie - was sie in meinem Fall sicherlich so
> sein wird - übersichtlich und verständlich
> aufgebaut ist.

Naja, das Ändern einer DB ist auch nicht so aufwendig. Entweder mit Tools wie phpMyAdmin -- womit Du schneller loslegen kannst, weil Du es nur installieren musst (sofern Dein Hoster das nicht schon bereitstellt) und dann sofort auf die DB zugreifen kannst. Oder mit einem kleinen selbstgeschriebenen Script -- das dauert am Anfang länger, weil Du es ja erstmal schreiben musst; dafür ist die tägliche Arbeit damit schneller.


> Außerdem, im Falle des Falles, würde die
> Suchfunktion nach einem Provider-Wechsels sofort
> wieder funktionieren, während ich im Falle einer
> Datenbank erst die komplette Datenbank auslesen
> und anderorts wieder einspielen müsste...

Eine DB mit phpMyAdmin zu exportieren und andernorts wieder zu importieren, ist eine Sache von ca. 3 Minuten (sofern phpMyAdmin oder ein vergleichbares Tool auf beiden Server vorhanden ist).


> Unbedingt zu erwähnen ist aber - sofern man es
> aus den letzten Zeilen nicht herauslesen konnte -
> das ich mit MySQL relativ wenig am Hut habe.

Gut, _das_ ist natürlich ein Argument.
Andererseits: Du möchtest ja gerne etwas lernen. Und da Du, wenn Du Dich ernsthaft mit der Web-Progammierung auseinandersetzen willst, über kurz oder lang nicht an der Arbeit mit Datenbanken vorbeikommst, wäre nun ein guter Zeitpunkt, Dich damit zu befassen.

Aber um Dich zu beruhigen: Wenn Du erstmal mit einer Textdatei anfangen möchtest, kannst Du das ruhig tun; später kannst Du ja immer noch auf eine DB umstellen und die Einträge aus der Datei dann importieren.


> Wie könnte man in diesem Fall am effizientesten
> mit Umlauten, bzw. Sonderzeichen umgehen? Da
> diese in meinem Fall alle als HTML-Sonderzeichen,
> also z.B. "kürzliche Änderungen", geschrieben
> sind, würden sie ja dann auch in der
> Text-Datei/Datenbank so eingetragen sein.
> Theoretisch wäre es ja dann am sinnvollsten die
> Begriffe der Suchanfrage zuerst so umzubauen,
> dass eingegebene Umlaute in HTML-Schreibweise
> gesucht werden. Ist das so sinnvoll, oder gibt es
> da eine andere Möglichkeit?

Ja, das geht.
Ich selbst gehe allerdings lieber so vor, dass ich konsequent mit UTF-8 arbeite und die Umlaute usw. gar nicht mehr in HTML-Entities umwandeln muss. Da Deine HTML-Dateien aber nun mal schon so vorhanden sind, ist es wohl besser, den von Dir genannten Weg zu gehen.

Gruß,
Tobias


Beiträge

Antwort schreiben

Username: Usernamen registrieren
Passwort: Passwort vergessen?
Thema:
  Bitte benutze für deinen Beitrag die Groß-/Kleinschreibung!
Beitrag:
Link (URL):
Titel für Link:
Grafik (URL):
  Die Breite der Grafik darf 468 Pixel nicht überschreiten.
 
E-Mail-Benachrichtigung:



Zum Abschicken deines Beitrags bitte die Schaltfläche "Abschicken" nur einmal anklicken und warten. Der Server braucht manchmal einige Zeit, bis er den Beitrag in die Datenbank übernommen hat. Wenn du die Schaltfläche mehrmals drückst, erscheint dein Beitrag auch mehrmals im Forum.

Bewerten Sie Ihren Webhosting-Provider

Webhosting Provider bewerten und Apple iPad gewinnenWie zufrieden sind Sie mit Ihrem Webhosting-Provider? Gibt es Probleme beim Service, mit der Performance oder der Abrechnung?

Teilen Sie jetzt Ihre Erfahrungen mit anderen Webmastern und schreiben Sie eine Provider-Bewertung. Mit etwas Glück können Sie ein Apple iPad gewinnen!

Weitere Informationen und Teilnahme...