Drupal 6: Partielle (Wortteil) Suche (CORE Hack / Patch)

Autor: Sven am Tue, 28.06.2011 - 09:35

In Drupal 6 ist es nur möglich nach kompletten Wörtern zu suchen. Die partielle Suche nach Wortteilen ist leider nicht möglich. Diese Funktion kann mit diversen Modulen hinzugefügt werden:

Die Einrichtung der oben angegebenen Module benötigt etwas Zeit und Einarbeitung (z.B. Apache SOLR). Wer hingegegen das Core Search Modul verwenden möchte kann einen kleinen Hack / Patch einbinden, der diese Funktionalität zur Verfügung stellt. Bei jedem Drupal Core Update muss dieses aber wieder neu eingebunden werden.

Der Originalinhalt stammt aus dem Drupalcenter von quiptime:

  1. search.module Datei öffnen
  2. Nach folgendem String suchen:
    $query2 = substr(str_repeat("i.word = '%s' OR ", count($arguments2)), 0, -4);
    und mit folgendem ersetzen:
    $query2 = substr(str_repeat("i.word like '%%%s%%' OR ", count($arguments2)), 0, -4);
  3. Nach folgendem String suchen:
    return array("d.data ". ($not ? 'NOT ' : '') ."LIKE '%% %s %%'", $count);
    und mit folgendem ersetzen:
    return array("d.data ". ($not ? 'NOT ' : '') ."LIKE '%%%s%%'", $count);
  4. Jetzt noch die Indexierung der Suche neu starten und die Wortteilsuche sollte funktionieren.