Relevanzpriorisierung in der MySQL-Volltextsuche erreichen
Bei der Durchführung von Volltextsuchen in mehreren Feldern weist MySQL den in jedem Feld gefundenen Übereinstimmungen die gleiche Relevanz zu. Es kann jedoch Szenarien geben, in denen die Priorisierung bestimmter Felder wünschenswert ist, um sicherzustellen, dass sie einen größeren Beitrag zur Gesamtrelevanzbewertung leisten.
Lösung: Erstellen Sie gewichtete Indizes
Um dies zu erreichen , mehrere Volltextindizes erstellen:
Beispielabfrage mit gewichteter Relevanz
Verwendung von MATCH (Schlüsselwort) GEGEN (... ) und MATCH (Inhalt) GEGEN (...) Funktionen können Sie separate Relevanzwerte für jedes Feld berechnen. Die CASE-Anweisung weist binäre Werte zu, um anzuzeigen, ob ein bestimmtes Feld den Suchbegriff enthält:
SELECT *, CASE WHEN Keywords LIKE '%watermelon%' THEN 1 ELSE 0 END AS keywordmatch, CASE WHEN Content LIKE '%watermelon%' THEN 1 ELSE 0 END AS contentmatch,
Das obige ist der detaillierte Inhalt vonWie kann ich die Relevanz verschiedener Felder in der MySQL-Volltextsuche priorisieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!