phpbar.de logo

Mailinglisten-Archive

Suchfunktion: Begriffe müssen nicht nebeneinander vorkommen

Suchfunktion: Begriffe müssen nicht nebeneinander vorkommen

Simon Bienlein s.bienlein at gmx.de
Mon Sep 3 09:16:54 CEST 2007


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