Volltextsuche
nadine
- datenbank
Hallo,
wie kann ich eine webbasierte Volltextsuche mit einer
Access Datenbank realisieren. Alle enthaltenen Tabellen
sollen berücksichtigt werden.
Danke im Voraus...
naddel
Hallo Naddel,
afaik dürfte es sowas nicht geben. Ich kenne sowas bisher weder von MySQL, DB2, Oracle oder sonst wo.
Die einzige Möglichkeit die ich sehe ist, dass Du Dir pro Tabelle eine Volltextsuche realisierst und dann nacheinander alle Tabelle durchgehst.
Über die Meta-Info der Datenbank kann man das natürlich so realisieren dass Deine Implementierung unabhängig von der verwendeten DB-Struktur arbeitet => Schau doch vielleicht mal bei Sourceforge ob da sowas läuft?
Haben die Tabellen denn evt. die gleiche Struktur? Dann kann man vielleicht mit UNION (falls Access das kennt) noch was machen?
Beschreib doch mal etwas genauer Deine DB-Struktur und auch wie das Ergebnis aussehen soll.
Ciao
Thomas Grötzner
erstmal danke für deine Gedanken...
die einzelnen Tabellen der Datenbank sind gleich aufgebaut d.h. die Bezeichnungen der Tabellenspalten sind gleich.
Zur Struktur: Enthalten sind--
Bezeichnung
Beschreibung
Preis
Bildlink
Produktdirektlink
Das Ergebnis sollte in einer .asp Vorlage wiedergegeben werden. Die Seiten lassen sich unter www.shop-markt-portal.de begutachten. Über weitere Tips, (eventuell Code zum Einbau) wäre ich schwer dankbar!!
Mfgreetings naddel
Hallo naddel,
das heisst also, dass Du pro "Anbieter" eine eigene Tabelle hast.
Warum?
DB-Desing-technisch würde ich das so sehen:
Es gibt eine Tabelle "Anbieter" mit u.A. einer ID und in der Tabelle "Angebote" oder "Artikel" (oder wie man die auch immer nennen will) gibt es dann eine Verlinkung zur Tabelle Anbieter über die ID des Anbieters.
Du baust vermutlich Deine ganzen SQL-Statements als Strings zusammen in welchen Du je nach Anbieter dann den Tabellenname einfügst, oder?
"Normaler" Weg wäre da ein Join zwischen Anbietern und Artikeln.
Ist aber eine ganz andere Baustelle! Ich will hier nicht anfangen Dein DB-Desing zu kritisieren oder umzustellen.
Zu Deinem Problem: in DB2 gibt es den schon erwähnten Befehl UNION. Hier ein Beispiel dafür:
http://www7b.software.ibm.com/dmdd/library/techarticle/0209rielau/0209rielau.html Unter 5. sieht man die Anwendung. Damit könntest Du Deine Tabellen in einem Result-Set zusammenfassen.
Musst mal in der Access-Hilfe suchen ob es UNION auch dort gibt. Selbst wenn sehe ich aber für Deine Problemstellung ein Problem aufkommen da Du so nicht mehr weisst aus welcher Tabelle ein gefundener Satz kommt!!! Das kann man zwar per "Pseudo-Feld" welches in den Einzelselects erzeugt wird wieder hinbiegen aber das ist eigentlich nur alles "rumgedoktere".
Beschreib doch mal Dein Relationen-Modell. Vielleicht kommt mir dann ne Idee. Wieviel Code hast Du denn basierend auf dem DB-Modell schon geschrieben?
Ciao
Thomas Grötzner
Hi, hallo
Zuerst war ich wahnsinnig erschreckt durch die große Schrift der Startseite. :-)
erstmal danke für deine Gedanken...
die einzelnen Tabellen der Datenbank sind gleich aufgebaut d.h. die Bezeichnungen der Tabellenspalten sind gleich.
Warum jenes? Wenn die Tabellendefinition gleich ist, dann passt doch alles in eine Tabelle. Kategorisierung nach Hersteller, Shop-Typ usw. kannst du doch über eine Spalte bzw. auch über eine Tabellenrelation erreichen. Dann hast du nur eine Tabelle und schwups geht eine Volltextsuche viel viel einfacher.
Tips, hmmm, naja. Läßt sich nur abstrakt sagen...
Deine Seite ist aber schon irgendwie dynamisch an der DB aufgehangen??? Wenn ja, dann solltest du ja erfahrung im Umgang mit Response, Recordsets und SQL haben.
Für weitere Fragen kannst du dich gern weiter hier bemerkbar machen :-)
Tschau, tschüß,
Frank