Heim  >  Fragen und Antworten  >  Hauptteil

Relevanzmethode zum Sortieren von MYSQL-Volltextsuchergebnissen

<p>Ich bin relativ neu in MYSQL und habe ein Problem, das mich schon seit einiger Zeit beschäftigt. Ich habe an verschiedenen Stellen nach Antworten gesucht, aber noch keine akzeptable Lösung gefunden. </p> <p>Dies ist die Abfrage, die ich derzeit ausführe, um die beste Übereinstimmung für einen bestimmten Suchbegriff zu finden: </p> <pre class="brush:php;toolbar:false;">$query="SELECT * from `vocabulary` WHERE translation = 'word' OR translation LIKE '%word%'";</pre> <p>Die zurückgegebenen Ergebnisse sind umfassend und umfassen alle relevanten Zeilen. Sie sind jedoch nicht in einer bestimmten Reihenfolge sortiert und ich möchte, dass beim Drucken der Ergebnisse in PHP zuerst die genauen Übereinstimmungen angezeigt werden. So: </p> <hr /> <p>1 |. Wort <-genaue Übereinstimmung</p><p> 2 |. Kreuzworträtsel <-alphabetische Teilübereinstimmung /</p><p> 3 |. Wörter</p><p> 4 |. Wordsmith</p> <hr /> <p>Vielen Dank für Ihre Hilfe im Voraus. </p> <p>-macspacejunkie</p>
P粉938936304P粉938936304423 Tage vor524

Antworte allen(2)Ich werde antworten

  • P粉090087228

    P粉0900872282023-08-25 09:40:13

    LIKE不是全文搜索。在全文搜索中,MATCH(...) AGAINST(...)返回一个可以近似表示相关性的匹配分数。

    Antwort
    0
  • P粉039633152

    P粉0396331522023-08-25 00:44:30

    SELECT * from vocabulary 
    WHERE translation like 'word'  
    union all
    SELECT * from vocabulary 
    WHERE translation LIKE '%word%' and translation not like 'word'

    将首先列出精确匹配

    Antwort
    0
  • StornierenAntwort