MySql Volltextsuche in PHP unter Verwendung von String-Containing-Schlüsselwörtern

8

Ich habe eine Zeichenfolge, die einige Schlüsselwörter wie diese enthält $string = 'one, two, "phrase three words"' Ich versuche eine Volltextsuche mit:

%Vor%

Wenn MySql die Ergebnisse zurückgibt, wird das Keyword "Phrase drei Wörter" nicht als Phrase abgeglichen, aber jedes Wort wird als Single abgeglichen.

Wie soll ich die Zeichenfolge oder die Abfrage ändern, um die Ergebnisse zu erhalten, bei denen die ganze Wortgruppe übereinstimmt? Ich habe versucht mit stripslashes () für die Zeichenfolge, aber das Ergebnis ist das gleiche.

    
Vasko 09.06.2013, 11:42
quelle

1 Antwort

24

Als MySQL Handbuch sagt:

  

Eine Phrase, die in doppelten Anführungszeichen ("") enthalten ist, stimmt überein   nur Zeilen, die den Ausdruck wörtlich enthalten, wie er eingegeben wurde.

Schauen wir uns die Beispieltabelle an:

%Vor%

Ordnung ist wichtig, wenn die Wörter zitiert werden:

%Vor%

Wenn wir die Anführungszeichen entfernen, wird nach Zeilen mit den Wörtern "Datenbank" oder "Vergleich" gesucht:

%Vor%

Reihenfolge ist jetzt egal:

%Vor%

Wenn wir Zeilen erhalten wollen, die entweder das Wort "PostgreSQL" oder den Ausdruck "Datenbankvergleich" enthalten, sollten wir diese Anfrage verwenden:

%Vor%

Geige

Stellen Sie sicher, dass die von Ihnen gesuchten Wörter nicht in der Liste enthalten sind von Stoppwörtern , die ignoriert werden.

    
user4035 09.06.2013, 22:57
quelle

Tags und Links