Benutzer mit den meisten Antworten
Volltextsuche mit einzelnen Zeichen

Frage
-
Hallo,
wir verwenden den SQL Server 2005. In einer Tabelle haben wir Artikeldaten gespeichert. Von dieser Tabelle fragen wir mit Hilfe der Volltextsuche Artikel ab. Wir haben folgendes Problem. In der Tabelle gibt es zum Beispiel folgende Einträge:
"Eimer gelb 6L"
"Eimer gelb 6 L"
Bei der Suche nach "gelb" und "6L" wird der Eimer gefunden. Bei einer Suche nach "gelb" und "6" und "L" gibt es kein Ergebniss. Kann man daran etwas ändern oder verhindert das die Volltextsuche und die Sache mit nach einem Zeichen wird nicht gesucht?
Gesundes neues Jahr
Christian
Antworten
-
Hallo Christian,
ich finde es gerade nicht, wo man es nachlesen kann, aber es ist halt so, das wie die Stoppwerter einzelne Buchstaben und Ziffern nicht indiziert werden, entsprechend kannst Du auch nicht danach suchen.
Wenn Du die AdventureWorks hast: Die Suche nach dem englischen Stoppwort "the" liefert auch nichts, obwohl es in den Comments vorkommt.
-- Liefert nichts
SELECT *
FROM Production.ProductReview
WHERE CONTAINS(Comments, ' "the" ')
Olaf Helper ----------- * cogito ergo sum * errare humanum est * quote erat demonstrandum * Wenn ich denke, ist das ein Fehler und das beweise ich täglich http://olafhelper.over-blog.de- Als Antwort markiert C1979 Montag, 11. Januar 2010 08:29
-
Hallo Christian,
die Volltextsuche arbeitet konzeptionell über Wortstämme und, wie Olaf schon schrieb,
werden Stoppwörter und anderes (u. a. einzelne Zeichen) ausgefiltert um den Index nicht
unnötig aufzublähen.
Siehe Wörtertrennung und Wortstammerkennung ff.
und auch den Thread Volltextsuche mit Prefix Term
Deswegen wirst Du solche (unsauberen) Ausdrücke auf die Weise nicht finden.
Denn dann käme letztendlich alles mit "L" (auch dem in gelb) und wäre nur durch
weitere Eingrenzung überhaupt sinnvoll verwendbar -
was letztendlich kontraproduktiv wäre.
Gruß Elmar
- Als Antwort markiert C1979 Montag, 11. Januar 2010 08:29
Alle Antworten
-
Hallo Christian,
ich finde es gerade nicht, wo man es nachlesen kann, aber es ist halt so, das wie die Stoppwerter einzelne Buchstaben und Ziffern nicht indiziert werden, entsprechend kannst Du auch nicht danach suchen.
Wenn Du die AdventureWorks hast: Die Suche nach dem englischen Stoppwort "the" liefert auch nichts, obwohl es in den Comments vorkommt.
-- Liefert nichts
SELECT *
FROM Production.ProductReview
WHERE CONTAINS(Comments, ' "the" ')
Olaf Helper ----------- * cogito ergo sum * errare humanum est * quote erat demonstrandum * Wenn ich denke, ist das ein Fehler und das beweise ich täglich http://olafhelper.over-blog.de- Als Antwort markiert C1979 Montag, 11. Januar 2010 08:29
-
Hallo Christian,
die Volltextsuche arbeitet konzeptionell über Wortstämme und, wie Olaf schon schrieb,
werden Stoppwörter und anderes (u. a. einzelne Zeichen) ausgefiltert um den Index nicht
unnötig aufzublähen.
Siehe Wörtertrennung und Wortstammerkennung ff.
und auch den Thread Volltextsuche mit Prefix Term
Deswegen wirst Du solche (unsauberen) Ausdrücke auf die Weise nicht finden.
Denn dann käme letztendlich alles mit "L" (auch dem in gelb) und wäre nur durch
weitere Eingrenzung überhaupt sinnvoll verwendbar -
was letztendlich kontraproduktiv wäre.
Gruß Elmar
- Als Antwort markiert C1979 Montag, 11. Januar 2010 08:29