ORDER BY relevance DESC query
| From: | Ron Piggott | Date: | Tue, 12 Apr 2011 08:00:15 +0000 |
| Subject: | ORDER BY relevance DESC query | ||
| Groups: | php.db | ||
| Request: | Send a blank email to php-db+get-47757@lists.php.net to get a copy of this message | ||
I am programming the search feature for a directory. I am trying to make the query display the
results in order of relevance (Greatest to least). I thought I had to perform the query similar to
a column being selected in order to sort the results by "relevance". What changes do I
need to make to my query for it to work correctly?
The mySQL query is giving me the error message:
#1241 - Operand should contain 1 column(s)
The FULLTEXT index contains:
organization
address_line_1
address_line_2
city
province_state
postal_zip_code
country
telephone
toll_free
fax
email
website
Presently the mySQL query is:
SELECT
reference, organization ,
( SELECT reference, organization FROM ministry_profiles
WHERE
MATCH( ministry_profiles.organization,
ministry_profiles.address_line_1,
ministry_profiles.address_line_2,
ministry_profiles.city,
ministry_profiles.province_state,
ministry_profiles.postal_zip_code,
ministry_profiles.country,
ministry_profiles.telephone,
ministry_profiles.toll_free,
ministry_profiles.fax, ministry_profiles.email,
ministry_profiles.website )
AGAINST
('$search')
AND live = 1
) AS relevance
FROM ministry_profiles
WHERE
MATCH( ministry_profiles.organization,
ministry_profiles.address_line_1,
ministry_profiles.address_line_2,
ministry_profiles.city,
ministry_profiles.province_state,
ministry_profiles.postal_zip_code,
ministry_profiles.country,
ministry_profiles.telephone,
ministry_profiles.toll_free,
ministry_profiles.fax, ministry_profiles.email,
ministry_profiles.website )
AGAINST
('$search')
AND live = 1
ORDER BY relevance DESC