none
Volltextsuche mit einzelnen Zeichen RRS feed

  • 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
    Freitag, 8. Januar 2010 14:58

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
    Freitag, 8. Januar 2010 16:22
  • 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
    Sonntag, 10. Januar 2010 14:28
    Beantworter

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
    Freitag, 8. Januar 2010 16:22
  • 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
    Sonntag, 10. Januar 2010 14:28
    Beantworter