Announcement

Collapse
No announcement yet.

Volltextsuche bei Begrifen mit Bindestrich

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Volltextsuche bei Begrifen mit Bindestrich

    Hi,

    warum werden bei der Abfrage auch Begriffe gefunden, die nur "mobile" enthalten? Eigentlich sollten nur Einträge herauskommen, die "t-mobile" enthalten. Hat das was mit dem Bindestrich zu tun?

    Code:
    SELECT spalte 
    FROM table 
    WHERE MATCH (spalte) AGAINST ('+t-mob*' IN BOOLEAN MODE)

  • #2
    1. Kommentar beachten
    http://dev.mysql.com/doc/refman/5.1/...xt-search.html
    Bei SQL-Code bitte beachten: Formatierung von SQL in Beiträgen

    Comment


    • #3
      Hi,

      danke für den Link. Dort steht aber es wird der erste Teil des Wores gefunden, bei mir ist es aber genau andersrum. Liegt es vielleicht daran, das Wörter mit 1 Buchstaben nicht beachtet werden (ft_min_len) und deshalb der zweite Teil, als nach dem Bindestrich gefunden wird?

      Comment


      • #4
        Originally posted by baserider View Post
        Liegt es vielleicht daran, das Wörter mit 1 Buchstaben nicht beachtet werden (ft_min_len) und deshalb der zweite Teil, als nach dem Bindestrich gefunden wird?
        Exakt daran liegt es.
        Bei SQL-Code bitte beachten: Formatierung von SQL in Beiträgen

        Comment


        • #5
          ???

          Hyphen '-' characters break literals at the moment.
          A search for something like "GATA-D22S690" finds
          all entries containing GATA and not the full
          hyphenated text. The '-' character is treated as a
          word stop even within literals. The same is true if
          any of the special text search modifiers are used (eg

          +, -, ~) so that hyphenated literals are not correctly
          found with full text searches.
          Da steht doch genau das, was bei dir passiert Ein t und mob*
          Christian

          Comment


          • #6
            Originally posted by Christian Marquardt View Post
            ???

            Da steht doch genau das, was bei dir passiert Ein t und mob*
            Es steht eben nicht so da.
            Dort steht, das der erste Teil des Wortes vor dem Bindestrich gefunden wird. Bei mir wurden aber Begriffe mit dem zweiten Teil gefunden. Deshalb habe ich auch nochmal nachgefragt und es wurde ja weiter oben auch beantwortet.

            Comment


            • #7
              Es steht eben nicht so da.
              Wenn du meinst....
              Christian

              Comment


              • #8
                Originally posted by Christian Marquardt View Post
                Wenn du meinst....
                das sind echt hilfreiche Beiträge. Wenn ich falsch liege, warum kann man dann nicht einfach schreiben wo der Fehler liegt?

                Comment


                • #9
                  das sind echt hilfreiche Beiträge. Wenn ich falsch liege, warum kann man dann nicht einfach schreiben wo der Fehler liegt?
                  ? Wenn du dich dem Kommentar dort nicht anschliessen willst, was erwartest du dann für einen hilfreichen Beitrag? Ich konnte mich dem anschliessen und ich kann eine Logik im Ergebnis und der Aussage des Kommtars finden; du offenbar nicht.
                  Christian

                  Comment


                  • #10
                    Originally posted by Christian Marquardt View Post
                    ? Wenn du dich dem Kommentar dort nicht anschliessen willst
                    Habe ich das irgendwo behauptet?

                    Originally posted by Christian Marquardt View Post
                    Ich konnte mich dem anschliessen und ich kann eine Logik im Ergebnis und der Aussage des Kommtars finden; du offenbar nicht.
                    Genau deswegen habe ich mich ans Forum gewandt, um Fragen zu klären. Ich hatte doch in einem vorherigen Beitrag meine Begründung geschrieben. Wenn diese falsch ist, warum kann man dann nicht schreiben wie es richtig ist?

                    Comment


                    • #11
                      Dort steht, das der erste Teil des Wortes vor dem Bindestrich gefunden wird. Bei mir wurden aber Begriffe mit dem zweiten Teil gefunden. Deshalb habe ich auch nochmal nachgefragt und es wurde ja weiter oben auch beantwortet.
                      Nein steht da nicht (nur)

                      The '-' character is treated as a word stop even within literals.


                      Somit bleibt bei deiner Eingabe

                      +t-mob*
                      letztlich
                      +t mob*

                      und i.v.m.

                      Einige Wörter werden bei der Volltextsuche ignoriert:
                      • Ignoriert werden alle Wörter, die zu kurz sind. Die standardmäßige Mindestlänge von Wörtern, die von der Volltextsuche gefunden werden, beträgt vier Zeichen.
                      • Auch Wörter, die auf der Liste der Stoppwörter stehen, werden ignoriert. Ein Stoppwort ist ein Wort wie „the“ oder „some“, das so verbreitet ist, dass sein semantischer Wert als vernachlässigbar betrachtet wird. Es gibt eine bereits vorhandene Liste mit Stoppwörtern, die aber mit einer benutzerdefinierten Liste überschrieben werden kann.


                      http://dev.mysql.com/doc/refman/5.1/...xt-search.html


                      übrig. Das erscheint mir erstmal - bis sich nichts anderes ergibt - schlüssig
                      Zuletzt editiert von Christian Marquardt; 03.07.2011, 15:42.
                      Christian

                      Comment

                      Working...
                      X