मेरे पास एक खोज क्वेरी है जो डीबी पर पूर्ण टेक्स्ट खोज करता है।कई कॉलम पर MySQL पूर्ण टेक्स्ट खोज: परिणाम भ्रम
$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)";
जब मैं 'कार्डोजो, होरासियो' या 'कार्डोजो' या 'होरासियो' के लिए खोज मैं कोई परिणाम नहीं लेकिन मैं जानता हूँ कि artist_full_name = कार्डोजो, होरासियो साथ DB में 2 रिकॉर्ड के साथ एक कलाकार है मिलता है।
यदि मैं सभी MATCH फ़ील्ड को हटा देता हूं और केवल al
है। artist_full_name
मुझे 2 परिणाम मिलते हैं। अगर मैं al
में जोड़ता हूं। description
मुझे 1 परिणाम मिलता है क्योंकि विवरण में 'होरासियो कार्डोजो' मौजूद है।
क्या किसी भी स्थिति (कोई खोज क्वेरी शब्द) किसी भी MATCH फ़ील्ड में मिलने पर खोज को वापस करने का कोई तरीका है? मैंने इन बूलेन मोड को हटाने का प्रयास किया लेकिन उसने एक ही परिणाम उत्पन्न किए।
'इन बूलेन मोड 'के बजाय,' प्राकृतिक भाषा मोड में ' –
' प्राकृतिक भाषा मोड में 'डिफ़ॉल्ट मोड (यानी जब कोई मोड निर्दिष्ट नहीं किया गया है) – RandomSeed
अभी भी खोज करते समय 0 परिणाम उत्पन्न करता है।मैंने जांच की है कि डीबी में सभी फ़ील्ड पूर्ण टेक्स्ट हैं लेकिन अभी भी कुछ भी नहीं है। – puks1978