Index von Indexed Search löschen

  • snoo snoo
    T3PO
    0 x
    12 Beiträge
    0 Hilfreiche Beiträge
    16. 11. 2005, 12:18

    Hallo ich habe folgendes Problem:
    Ich nutze die Indexed Search um externe Dokumente volltextbasiert durchsuchen zu lassen. Das klappt auch soweit wunderbar. Da es sich bei allen Dokumenten um mehrere hundert MB handelt und öfter Änderungen an den externen Dokumenten durchgeführt bzw gelöscht werden hab ich ein Skript in die crontab eingebunden das alle gelöschten Dateiverweise auch aus dem lokalen filesystem löscht um Platz zu sparen. (Also nicht nur die deleted flag in der Datenbank)
    Jezt kommt dann mein Problem: Der Index für die Volltextsuche enthält immer noch die alten nun gelöschten Dokumente und werden bei den Treffern aufgeführt - der Link geht dann natürlich ins Leere. Diese nicht mehr aktuellen Einträge möchte ich logischerweise gar nicht mehr durchsuchen lassen.
    Den Indexed Search Eintrag händisch im Backend zu löschen kommt nicht in Frage - da es wiegesagt sehr viele Dokumente sind die sich laufend ändern.
    Meine Idee wäre jetzt gewesen zB einmal in der Woche die entsprechenden Datenbank-Tabellen via cronjob zu löschen. Diese Lösung erscheint mir aber ein bisschen "unsauber".
    Vielleicht hat ja jemand von euch einen besseren Vorschlag mein Problem zu lösen. Danke hierfür schon mal.

    Gruß
    Stefan Neefischer


  • 1
  • woida woida
    Flash Gordon
    0 x
    2356 Beiträge
    1 Hilfreiche Beiträge
    16. 11. 2005, 21:49

    Wieso findest du die Lösung "unsauber". Das löschen übers Backend macht doch auch nichts anderes als die entsprechenden Einträge in der Tabelle zu löschen.

    Eine weitere Möglichkeit wäre, z.B. eine Offline-Version (fürn Firefox gibts da eine gute Extension) deiner Seiten zu ziehen. Das setzt natürlich eine schnelle Verbindung zum Webserver voraus (du hast ja geschrieben, daß es mehrere 100Mb PDfs sind). Diese Lösung hätte den Vorteil, daß nicht nur die alten Einträge verschwinden, sondern auch gleich noch alle Seiten im index landen.

  • snoo snoo
    T3PO
    0 x
    12 Beiträge
    0 Hilfreiche Beiträge
    16. 11. 2005, 22:49

    Naja ich finds schon ein bißchen unsauber. Im Moment schaut meine Lösung so aus dass ich einmal pro Woche die indexed_search tabellen lösche um anschließend einen neuen Index aller Seiten einlesen zu lassen.
    Dauert natürlich auch seine Zeit wenn ich auf einer Seite 50 PDFs habe ...
    Das mit der Offlineversion versteh ich nicht ganz. Also an der Verbindung scheiterts nicht da innerhalb eines 100 MBit Intranets. Falls du das Aufrufen aller Seiten meinst - das mach ich mit nem script mit Hilfe von wget. Aber löschen muss ich doch die Datenbanktabellen auch in diesem Fall.

  • woida woida
    Flash Gordon
    0 x
    2356 Beiträge
    1 Hilfreiche Beiträge
    17. 11. 2005, 11:08

    Mit der offline-Version habe ich genau daß gemeint, was du mit wget machst.

    Eigentlich sollte dann beim Aufrufen deiner Seiten mit wget der Index neu aufgebaut werden (=redindex), ohne daß du deine Tabellen löschen mußt.

  • 0 x
    84 Beiträge
    0 Hilfreiche Beiträge
    05. 01. 2007, 13:29

    [quote="snoo"]
    Naja ich finds schon ein bißchen unsauber. Im Moment schaut meine Lösung so aus dass ich einmal pro Woche die indexed_search tabellen lösche um anschließend einen neuen Index aller Seiten einlesen zu lassen.
    [/quote]

    Hallo snoo,
    ich will meinen indexed-search cache leeren, aber nur genau ein mal und manuell, kannst Du mir verraten welche Tabellen (-Inhalte) ich dazu löschen muss? Kann ich das mit phpmyAdmin machen oder benutzt Du da irgendeine Extension?

  • snoo snoo
    T3PO
    0 x
    12 Beiträge
    0 Hilfreiche Beiträge
    05. 01. 2007, 14:30

    Hi,
    also ich habs über ein externes perlscript in die crontab gehängt. Da du das ganze aber nur einmal machen möchtest reicht natürlich auch phpMyAdmin aus. Das ganze war in einem Firmenintranet - habe deshalb grad keinen Zugriff und kann dir nicht sagen welche Tabellen es genau sind.
    Mach es doch einfach so:
    Schau dir in phpMyAdmin die Tabellen an die mit der indexed_search zusammenhängen an (geht ja aus dem Namen hervor) und merk dir die letzten Einträge. Füge dann ein neues Dokument in deine Typo3 Seite ein und wiederhole Schritt 1. Alle Tabellen wo nun der neue Eintrag steht sind folglich zu leeren.

  • 1