@Mukido: Das reine Markieren der Spalten in den Addoneinstellungen, indexiert die Spalten noch nicht. Die Indexierung muss manuell gestartet werden.
@Markus: Das Problem der teilweise fehlenden automatischen Indexierung ist der Flexibilität des Addons geschuldet.
Natürlich kannst du aber Spalten auch nachträglich oder neu indexieren.
Der folgende Code indexiert eine gesamte DB-Spalte neu:
Code: Alles auswählen
$xsearch = new XSearch;
$xsearch->indexColumn('tabelle', 'spalte');
Wenn du die ID des Eintrags kennst, der neu indexiert werden soll, dann kannst du diese auch direkt angeben:
Code: Alles auswählen
$xsearch = new XSearch;
$xsearch->indexColumn('tabelle', 'spalte', 'id', $id);
Dabei ist der dritte Paramter der Name der ID-Spalte der Tabelle (in der Tabelle rex_article wäre das z. B. "id") und der vierte Parameter ist die eigentliche ID, des Datensatzes, der neu indexiert werden soll.
(Sinnfreies) Beispiel: Der Name eines Artikels mit der ID 10 wird in einem Modul verändert. Die Datenbankspalte rex_fpsw_article.name ist mit XSearch indexiert. Das Modul, das den Name ändert, soll nun auch automatisch die Indexierung erneuern. Da es nicht nötig ist, alle Artikelnamen neu zu indexieren, nutzen wir die ID des Artikels, die wir ja kennen.
Das geht so:
Code: Alles auswählen
$xsearch = new XSearch;
echo $xsearch->indexColumn('rex_fpsw_article', 'name', 'id', REX_ARTICLE_ID);
Der dritte Parameter ist übrigens deshalb notwendig, weil die identifizierenden DB-Spalten nicht immer "id", sondern z. B. auch "file_id", "eidie", etc. heißen können.
Übrigens müsst ihr das Addon nochmal neu laden, da noch ein Fehler im Suchcache war. Ich arbeite noch ein wenig an der Doku. Dort wird dann auch bald stehen, unter welchen Bedingungen Artikel oder DB-Spalten automatisch indexiert werden.