tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
3
ZUGRIFFE
382
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    illaX illaX ist offline Mitglied Brokat
    Registriert seit
    Jan 2004
    Ort
    Konstanz
    Beiträge
    268
    Hi Jungs,

    ich bin gerade Frischling in der Volltextsuche und habe mir das Manual von MySQL durchgelesen.
    Nach einigen Tests lief es dann auch ohne Syntaxfehler...
    Ich durchsuche eine Datenbank nach Namen. Zum Beispiel sucht der Benutzer nach einer Mitarbeiterin "Maike". Nun sollte, soweit ich es verstanden haben auch die Mitarbeiter "Meike" oder "Maik" gefunden werden. Dies ist bei mir leider nicht der Fall. Die Volltextsuche liefert bei mir weniger Ergebnisse als LIKE.

    Mein gekürzter SQL command:
    SELECT *, MATCH (name, surname) AGAINST ("Maike") FROM user_profile

    Er liefert nur Datensätze, die im Feld name "Maike" stehen haben. Maik, Meike oder anderes wird nicht gefunden. Ich habe es auch schon mit anderen typischen Fällen, wie Schmidt und Co. ausprobiert. Hat nichts funktioniert.
    Habe auch schon diese Forum durchwühlt und die selbe Frage gefunden, diese wurde aber nicht beantwortet.
    Danke für jede Hilfe oder "schubser" in die richtige Richtung.
     
    MfG
    illaX

  2. #2
    Avatar von fiacyberz
    fiacyberz fiacyberz ist offline Mitglied Brokat
    Registriert seit
    Aug 2001
    Ort
    Hamburg
    Beiträge
    446
    Habe ich so nicht gelesen. Sondern nur als Volltext Suche.
    Guck sonst selbst nochmal:
    http://dev.mysql.com/doc/refman/5.1/...xt-search.html
     

  3. #3
    dbwizard dbwizard ist offline Mitglied Brokat
    Registriert seit
    May 2007
    Ort
    Zürich
    Beiträge
    285
    Zitat Zitat von illaX Beitrag anzeigen
    Danke für jede Hilfe oder "schubser" in die richtige Richtung.
    - Was du verwenden willst ist eine "phontische" Suche. Dazu gibt es die Funktion SOUNDEX, welche dir die Strings in die entsprechenden Spundex-Wert wandelt.

    Code :
    1
    2
    3
    
    SELECT name
    FROM personen
    WHERE SOUNDEX(name) = SOUNDEX(suchbegriff)

    - Das Problem ist natürlich, dass damit keine Indexe mehr verwendet werden
    - ...und im weiteren die Soundex Funktion auf die Englische Sprache zugeschnitten ist

    Ich kann dir ein Beispiel liefern, wie wir es in Oracle gelöst haben, wenn du interesse hast (Ist zu gross zum posten)

    Gruss
     

  4. #4
    illaX illaX ist offline Mitglied Brokat
    Registriert seit
    Jan 2004
    Ort
    Konstanz
    Beiträge
    268
    Hi,

    ich hatte es in dem Artikel über blinde Abfrageerweiterung so verstanden. Vielleicht schnall ich das Beispiel auch nicht richtig.

    @dbwizard: Danke für den Hinweis. Habe dank dir eine gute Lösung mit der Kölner Phonetik gefunden.

    Vielen Dank für Eure Hilfe.
    Geändert von illaX (30.11.08 um 16:44 Uhr)
     
    MfG
    illaX

Ähnliche Themen

  1. Treiber werden nicht gefunden
    Von Peter Klein im Forum Microsoft Windows
    Antworten: 4
    Letzter Beitrag: 29.01.09, 15:00
  2. Resource kann nicht gefunden werden
    Von engelmarkus im Forum .NET WPF & Silverlight
    Antworten: 3
    Letzter Beitrag: 28.06.08, 10:03
  3. Antworten: 6
    Letzter Beitrag: 27.05.08, 10:33
  4. Antworten: 1
    Letzter Beitrag: 07.11.04, 17:35
  5. Netzwerke werden nicht gefunden
    Von fdelay im Forum Netzwerke
    Antworten: 2
    Letzter Beitrag: 30.12.03, 10:18