Mailinglisten-Archive |
Hallo zusammen,
das von mir verwendete CMS bietet eine Suchfunktion. Diese findet die
eingegebenen Begriffe nur, wenn diese im Text auch nebeneinander stehen.
ich möchte die Suche so ändern, dass die Begriffe nicht zwingend
nebeneinander stehen müssen aber trotzdem alle im Text vorkommen müssen.
Ich habe schon in der MySQL-Doku und in Foren nach vergleichbaren
Aufgaben gesucht aber nichts passendes gefunden.
Wäre super, wenn ihr mir weiterhelfen könntet. Hier die vorhandene
MySQL-Abfrage:
SELECT
(FIND_IN_SET('Sprachausgabe Beispiel',REPLACE(name,' ',',')) * 10000) +
(FIND_IN_SET('Sprachausgabe Beispiel',REPLACE(keywords,' ',',')) * 5) +
(FIND_IN_SET('Sprachausgabe Beispiel',REPLACE(id,' ',',')) * 10000000) +
(FIND_IN_SET('Sprachausgabe Beispiel',REPLACE(content,' ',',')) * 5)
AS COUNTWORD, id, name, content, clang
FROM rex_12_search_index
WHERE
(
name LIKE ('%Sprachausgabe Beispiel%') OR
keywords LIKE ('%Sprachausgabe Beispiel%') OR
id = 'Sprachausgabe Beispiel' OR
content LIKE ('%Sprachausgabe Beispiel%')
)
AND status='1'
ORDER BY COUNTWORD DESC LIMIT 0,500
Wenn ich das richtig versteh, werden im MOment ARtikel weiter oben
platziert, die die Begrife schon im Nmen enthalten. Das wäre natürlich
auch weiterhin super. Aber im Grunde reicht es schon, wenn die
eingegebenen Begriffe querbeet im Content vorkommen könnten.
Vielen Dank im Voraus für eure Hilfe.
Simon
php::bar PHP Wiki - Listenarchive