Kod:
(
SELECT DISTINCT
MATCH (
text
)
AGAINST (
'easy'
IN BOOLEAN
MODE
) AS score, id, 'A' AS typee, short AS description, title AS title
FROM articles
WHERE MATCH (
text
)
AGAINST (
'easy'
IN BOOLEAN
MODE
)
)
UNION (
SELECT DISTINCT
MATCH (
description
)
AGAINST (
'easy'
IN BOOLEAN
MODE
) AS score, id, 'B' AS typee, description AS description, name AS title
FROM examples
WHERE MATCH (
description
)
AGAINST (
'easy'
IN BOOLEAN
MODE
)
)
UNION (
SELECT DISTINCT
MATCH (
forum_posts.text
)
AGAINST (
'easy'
IN BOOLEAN
MODE
) AS score, forum_posts.id, 'C' AS typee, forum_topics.description AS description, forum_topics.title AS title
FROM forum_posts
INNER JOIN forum_topics ON forum_posts.topicid = forum_topics.id
WHERE MATCH (
forum_posts.text
)
AGAINST (
'easy'
IN BOOLEAN
MODE
)
)
ORDER BY score
Hej
Koden ovan tillhör en viss sökmotor jag håller på att bygga. Den använder som ni kan se MySQL:s MATCH ... against..hursomhelst fungerar det inte riktigt som jag vill. Om jag inte lägger till alla de där extra kolumnerna med data så rangordnar koden och blandar data av alla tre typer så att mest relevant kan t. ex. A vara, näst mest relevant kan vara av typen B, tredje A, fjärde C o.s.v. Det är så jag vill ha det, att den som är mest relevant kommer först. Näst mest relevant tvåa etc.
Just nu är det dock så att de kommer i ordning, först kommer alla av typ A, sedan alla av typ B och sedan alla av typ C... någon som har en aning om varför detta händer?
Tackar.