![]() |
![]() |
|
![]() |
![]() |
|
Programmierung Rat & Tat für Programmierer |
![]() |
|
Themen-Optionen | Ansicht |
![]() |
#1 |
Inventar
![]() Registriert seit: 22.10.2000
Alter: 41
Beiträge: 5.552
|
![]() Ich muss das Thema nochmal ansprechen:
Ich möchte eine Volltextsuche für ein CMS implementieren. System ist: Win2003 mit .NET 1.1 (in ASP.NET wird programmiert) und die DB is auf einem SQL 2000 Server. Einen Volltextindex anzulegen und dort dann einzelne Tabellen bzw. Spalten anzulegen sollte kein Problem darstellen. Das Problem ist aber, ich möchte verschiedene Tabellen (die eine Unterschiedliche Struktur haben) mit einem Suchbegriff durchsuchen und dann das Ergebnis in einer Liste ausgeben. Im konkreten heißt das ich habe: eine Tabelle für das Menü eine Tabelle für Downloads eine Tabelle für div. Artikel/Text Diese sollen alle durchsucht werden und dann nach relevanz geordnet ausgegeben werden (wobei z.B. ein Treffer bei einem Menüpunkt automatisch höher gewertet wird). So, hab jetzt schon die Doku und google gequält jedoch noch keine wirklich sinnvolle Lösung gefunden. Das einzige was mir bis jetzt aeingefallen ist, wären 3 Abfragen die mit Union verknüpft werden (die Relevanz muss ich auch noch irgendwie "mitnehmen" - zum Sortieren) und das ganze dann ausgeben. Hat jemand noch einen "eleganteren" Lösungsvorschlag? Ich dank euch schon mal für eure Ideen, mfG LLR |
![]() |
![]() |
![]() |
#2 |
Veteran
![]() Registriert seit: 03.07.2000
Alter: 47
Beiträge: 430
|
![]() hmm...
also vielleicht hilft dir das weiter ... SELECT mit UNION ALL was ich so mitbekommen habe solltest du UNION ALL verwenden. lG, schera |
![]() |
![]() |
![]() |
#3 |
Inventar
![]() Registriert seit: 22.10.2000
Alter: 41
Beiträge: 5.552
|
![]() Union All wäre Käse, da ich ja dann evt. doppelte Suchergebnisse bekomme.
Aber umso mehr ich drüber nachdenke (und nachdem ich jetzt auch noch den Artikel gelesen habe) wird mir wohl nix anderes übrig bleiben, als den Index auf die einzelnen Tabellen zu setzen, und dann jede einzelne zu durchsuchen und mit Union zu verknüpfen. |
![]() |
![]() |
![]() |
#4 |
Veteran
![]() Registriert seit: 03.07.2000
Alter: 47
Beiträge: 430
|
![]() ... richtig UNION ALL ist nicht gut ;-)
habs auch grad gelesen ... Find leider auch nichts Vernünftiges .... |
![]() |
![]() |
![]() |
#5 |
Inventar
![]() Registriert seit: 04.11.2001
Alter: 45
Beiträge: 2.150
|
![]() Sieh dir das Kapitel im SQL-CHM nochmal genauer an, bei den Beispielen ist zu erkennen, dass es so etwas wie ein Rank Attribut gibt.
~
____________________________________
LOL - Mein erstes Post im Programmier Forum MACINTOSH - Most Applications Crash, If Not The Operating System Hangs |
![]() |
![]() |
![]() |
#6 | |
Inventar
![]() Registriert seit: 22.10.2000
Alter: 41
Beiträge: 5.552
|
![]() Zitat:
Und wenn ich die Abfragen mit Union verknüpfe muss ich evt. die 2 kleinen Textfelder auf ntext aufblasen, damit ich sie zusammenführen kann. (und ich denk nicht, dass das von der Performance so supi is) Bin leider noch nicht dazu gekommen es ausprobieren, da ich noch einige andere Sachen vorher machen muss. ![]() |
|
![]() |
![]() |
![]() |
#7 |
Inventar
![]() Registriert seit: 04.11.2001
Alter: 45
Beiträge: 2.150
|
![]() Splitte die Abrfage auf drei einzelne (eine pro tabelle) auf, da du ja sowieso eine gewisse Preferenz auf das Ranking pro Tabelle haben willst.
~
____________________________________
LOL - Mein erstes Post im Programmier Forum MACINTOSH - Most Applications Crash, If Not The Operating System Hangs |
![]() |
![]() |
![]() |
#8 | |
Inventar
![]() Registriert seit: 22.10.2000
Alter: 41
Beiträge: 5.552
|
![]() Zitat:
Weil es kann ja immer noch sein, dass ein Treffer von Downloads zutreffender ist als vom Menü (auch wenn Menü "stärker" gewichtet wird) |
|
![]() |
![]() |
![]() |
#9 |
Inventar
![]() Registriert seit: 04.11.2001
Alter: 45
Beiträge: 2.150
|
![]() Das kapier ich jetzt nicht, aber bitte
![]() ~
____________________________________
LOL - Mein erstes Post im Programmier Forum MACINTOSH - Most Applications Crash, If Not The Operating System Hangs |
![]() |
![]() |
![]() |
#10 | |
Inventar
![]() Registriert seit: 22.10.2000
Alter: 41
Beiträge: 5.552
|
![]() Zitat:
Wie soll ich nach dem Ranking insgesamt sortieren (also über alle 3 Abfragen hinweg) - ohne die Abfragen mit Union zu verbinden und eben die varchar Werte auf ntext zu ändern? Das mein ich ![]() |
|
![]() |
![]() |
![]() |
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
|
|