MySQL-Volltextsuche über mehrere Spalten: Ergebnisverwirrung

Ich habe eine Suchanfrage, die eine Volltextsuche in der DB durchführt.

$sql = "SELECT
*
FROM 
`tbl_auction_listing` AS `al` 
JOIN 
`tbl_user` AS `u` ON `al`.`user_id` = `u`.`user_id` 
LEFT JOIN
`tbl_gallery_details` AS `gd` ON `al`.`user_id` = `gd`.`user_id`
LEFT JOIN
`tbl_self_represented_details` AS `sr` ON `u`.`user_id` = `sr`.`user_id`
WHERE 
`al`.`status` = '" . ACTIVE . "'
AND
`al`.`start_date` < NOW() 
AND
`al`.`end_date` > NOW()
AND
MATCH(`al`.`listing_title`,
`al`.`description`,
`al`.`provenance`,
`al`.`title`,
`al`.`artist_full_name`,
`al`.`artist_first_name`,
`al`.`artist_last_name`,
`sr`.`artist_name`,
`gd`.`gallery_name`,
`u`.`username`) AGAINST('$search_query' IN BOOLEAN MODE)";

Wenn ich nach 'Cardozo, Horacio' oder 'Cardozo' oder 'Horacio' suche, erhalte ich keine Ergebnisse, aber ich weiß, dass es einen Künstler mit 2 Datensätzen in der Datenbank mit artist_full_name = Cardozo, Horacio gibt.

Wenn ich alle MATCH-Felder entferne und nur habeal.artist_full_name Ich erhalte 2 Ergebnisse. Wenn ich hinzufügeal.description Ich erhalte 1 Ergebnis, weil "Horacio Cardozo" in der Beschreibung vorhanden ist.

Gibt es eine Möglichkeit, die Suche alle Datensätze zurückgeben zu lassen, wenn eine Bedingung (ein beliebiges Suchwort) in einem der MATCH-Felder erfüllt ist? Ich habe versucht, IN BOOLEAN MODE zu entfernen, aber das hat zu den gleichen Ergebnissen geführt.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage