selfhtml.de - Alles für den Webmaster!

 

Empfehlung:

wix.com

Kostenlose Homepage

Besuchen Sie auch:

Jobs:

Re: Denkansätze für selbstgemachte Suchfunktion

Autor: SaschaPall [Beiträge: 96]
Datum: 24.01.2013 13:59:18

Hallo!

> 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.

Das klingt nach einer ziemlich einfachen Aufgabe für den Server, da hast Du allerdings recht!
Werde wohl, zuerst mit einer Text-Datei anfangen, und später - je nach Dateigröße und Suchdauer (und Bedarf) - auf eine DB "aufrüsten".

Was mir bzgl. Ressourcenschonung eingefallen ist, wäre folgendes, dass man 26 Text-Dateien anlegt, die jeweils nur Worte mit dem jeweiligen Anfangsbuchstaben enthalten. Sollten es z.B. bei Worten mit "S" trotzdem sehr viele Einträge sein, kann man das ja immer noch aufteilen.
Jedenfalls müsste das Such-Skript dann nicht eine Text-Datei von vorne bis hinten durchrattern, sondern könnte auf Grund des Suchbegriffs spezifisch die richtige Datei schneller durchsuchen. Allerdings müsste man dafür dann wieder das Such-Skript so umbauen, dass es bei mehreren eingegebenen Suchbegriffen auch mehrere Dateien öffnen und durchsuchen kann...


> 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).

Dass das Exportieren von DBs möglich ist, wusste ich nicht, aber es gefällt mir schonmal sehr gut :-) Bringt mich wieder mehr zur Überzeugung, dass eventuell eine DB das Mittel zur Wahl ist!

> 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.

Absolut richtig! :-)

> 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.

Okay.
Meine HTML-Dateien sind noch nicht vorhanden ^^ Im Prinzip bastle ich seit Monaten, bzw. Jahren an mehreren Homepages herum. Da das ganze aber natürlich nicht so professionell wie von einer Webdesign-Firma ist, haben meine "Auftraggeber" den zukünftigen Homepages so wenig Priorität beigemessen, dass ich für mich selber sehr vieles ausprobiere, und ab und zu auf Grund neuer Ideen den Inhalt bzw. das Aussehen der einzelnen Seiten ändere.
Für das aktuelle Projekt, wofür ich eben meine erste eigene Such-Funktion machen möchte, habe ich aber beschlossen, alles KOMPLETT neu zu schreiben, da ich meine eigenen "Programmierungs-Standards" (CSS-Auslagerung, Verpackung des Inhalts in Tabellen/Div-Container/..., Einbindung von Dateien via PHP,... usw.) in der Zwischenzeit oft geändert habe und sich in der Zwischenzeit ein riesiger "Daten-Salat" ergeben hat. Insofern kann ich den Weg über die konsequente UTF-8 Verwendung durchaus beschreiten!

LG Sascha


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...