Zum Inhalt springen

indexed_search und crawler

Erstellt am 30. November 2007 · 38 Antworten · letzte Antwort am 10. Februar 2010 · Seite 2 von 2

Tags: Suche, Frage

arag0rn2k7 ·

[​quote="Wool"]

Ach ja... folgende Fehlermeldung gibt die Cron bei der "Page tree"-Config aus: (anscheinend der Grund für mein Problem?)

Cron-Fehler:
PHP Warning: Missing argument 2 for tx_crawler_lib::getUrlsForPageRow(), called in .../typo3_src-4.2.8/typo3/sysext/indexed_search/class.crawler.php on line 466 and defined in .../typo3conf/ext/crawler/class.tx_crawler_lib.php on line 233

Hallo Wool,

das ist ein Bug im Crawler 3.0:

Hier das Fix: Geh in die class.tx_crawler_lib.php line 233 und ändere

function getUrlsForPageRow(array $pageRow, &$skipMessage)

in

function getUrlsForPageRow(array $pageRow, &$skipMessage = '')
arag0rn2k7 ·

Ich habe ein anderes Problem. Bei mir berücksichtigt der Crawler nicht die fe_group der einzelnen tt_news -> somit sind die gesamten privaten news über die Suche für nicht eingeloggt User zu finden!
Es scheint mir, als werden nur die Benutzergruppen der Listen-Ansicht-Seite(in dem Falle öffentlich) kontrolliert aber nicht jeder einzelnen News 🙁

Woran kann das liegen?

jonas8 ·

Hallo Wool

Nu isses aber ein wenig umständlich, wenn man für jede Seite eine Index-Config erstellen soll...

Hast du die TSconfig zum crawler bei den Seiteneigenschaften der root Seite?

Gruss Jonas

Wool ·
arag0rn2k7 schrieb

Hallo Wool,
das ist ein Bug im Crawler 3.0:

Hier das Fix: Geh in die class.tx_crawler_lib.php line 233 und ändere

function getUrlsForPageRow(array $pageRow, &$skipMessage)

in

function getUrlsForPageRow(array $pageRow, &$skipMessage = '')

Danke, die Fehlermeldung wird nun nichtmehr ausgegeben 🙂

Leider finddet er trotzdem nix...

jonas8 schrieb

Hast du die TSconfig zum crawler bei den Seiteneigenschaften der root Seite?

natürlich...

tx_crawler.crawlerCfg.paramSets {
  content = &L=[|_TABLE:pages_language_overlay;_FIELD:sys_language_uid]
  content.procInstrFilter = tx_cachemgm_recache, tx_indexedsearch_reindex, tx_indexedsearch_crawler
  content.baseUrl = http://meinetestdomain/folder/

  ttnews = &tx_ttnews[tt_news]=[_TABLE:tt_news;_PID:45]
  ttnews.procInstrFilter = tx_cachemgm_recache,tx_indexedsearch_reindex
  ttnews.pidsOnly = 37
  ttnews.cHash = 1
  ttnews.baseUrl = http://meinetestdomain/folder/
}
# Einzelgruppen
tx_crawler.crawlerCfg.paramSets.grp1 < tx_crawler.crawlerCfg.paramSets.content
tx_crawler.crawlerCfg.paramSets.grp1.userGroups = 0,-2,1
tx_crawler.crawlerCfg.paramSets.grp2 < tx_crawler.crawlerCfg.paramSets.content
tx_crawler.crawlerCfg.paramSets.grp2.userGroups = 0,-2,2
tx_crawler.crawlerCfg.paramSets.grp3 < tx_crawler.crawlerCfg.paramSets.content
tx_crawler.crawlerCfg.paramSets.grp3.userGroups = 0,-2,3
tx_crawler.crawlerCfg.paramSets.grp4 < tx_crawler.crawlerCfg.paramSets.content
tx_crawler.crawlerCfg.paramSets.grp4.userGroups = 0,-2,4
tx_crawler.crawlerCfg.paramSets.grp5 < tx_crawler.crawlerCfg.paramSets.content
tx_crawler.crawlerCfg.paramSets.grp5.userGroups = 0,-2,5
# Multigruppen
tx_crawler.crawlerCfg.paramSets.multi123 < tx_crawler.crawlerCfg.paramSets.content
tx_crawler.crawlerCfg.paramSets.multi123.userGroups = 0,-2,1,2,3
tx_crawler.crawlerCfg.paramSets.multi15 < tx_crawler.crawlerCfg.paramSets.content
tx_crawler.crawlerCfg.paramSets.multi15.userGroups = 0,-2,1,5
jonas8 ·

versuche es zuerst ohne gruppen und ohne news. funktioniert es dann?

tx_crawler.crawlerCfg.paramSets {
  content = &L=[|_TABLE:pages_language_overlay;_FIELD:sys_language_uid]
  content.procInstrFilter = tx_indexedsearch_reindex
  content.baseUrl = http://www.domain.ch/
}

ist die site mehrsprachig? wenn nicht genügt auch ein:

tx_crawler.crawlerCfg.paramSets {
  content = 
  content.procInstrFilter = tx_indexedsearch_reindex
  content.baseUrl = http://www.domain.ch/
}
Wool ·

Hallo,

leider kann ich es nicht ohne Gruppen machen, da es sich um eine Seite handelt, die nur per Login erreichbar ist.

Und ja, sie ist mehrsprachig, sonst bräuchte ich das L ja nicht 😉

Ich hab es auch schon mal mit er Crawler-Configuration versucht, aber da kann ich leider keine fe_groups auswählen (sondern nur BE_groups)...

So langsam überleg ich mir ein Skript zu basteln, dass mir die Indexing-Configurations - Database records - Page-content für die einzelnen Seiten automatisch einfügt, da es ja mit jenen funktioniert...

Ich verzweifel so langsam...

Wool ·

Upsa... fast übersehen:

arag0rn2k7 schrieb

Ich habe ein anderes Problem. Bei mir berücksichtigt der Crawler nicht die fe_group der einzelnen tt_news -> somit sind die gesamten privaten news über die Suche für nicht eingeloggt User zu finden!
Es scheint mir, als werden nur die Benutzergruppen der Listen-Ansicht-Seite(in dem Falle öffentlich) kontrolliert aber nicht jeder einzelnen News 🙁

Woran kann das liegen?

Hast du schonmal probiert die Gruppen den News-Regeln mitzugeben, analog dem normalen Conten-Regeln?

jonas8 ·

So langsam überleg ich mir ein Skript zu basteln, dass mir die Indexing-Configurations - Database records - Page-content für die einzelnen Seiten automatisch einfügt, da es ja mit jenen funktioniert...
Ich verzweifel so langsam...

Ist natürlich auch eine Möglichkeit.

Versuche es mal damit:

tx_crawler.crawlerCfg.paramSets {
  content = &L=[|_TABLE:pages_language_overlay;_FIELD:sys_language_uid]
  content.procInstrFilter = tx_indexedsearch_reindex
  content.baseUrl = http://www.domain.ch/

  # crawler für User der FE-Gruppe 1
  gruppe1 < tx_crawler.crawlerCfg.paramSets.content
  gruppe1.userGroups = 1
}

So läufts bei mir mit einer Gruppe

Wool ·

Hallo jonas8,

ich probier es grad mit Deiner Beschreibung, jedoch denke ich, dass das auch nix bringt, da es sich nur um eine andere Schreibweise handelt.
(er crawlt mir grad die Seite, also mal sehen...)

Im übrigen sieht so die Zeile für die Queue in meiner crontab aus, vielleicht liegt da der Fehler:

/usr/bin/php5 -f /Pfad/typo3/cli_dispatch.phpsh crawler_im 3 -d 99 -n 1000 -o queue -conf content,ttnews,verschiedene_gruppen

ACHTUNG: Crawler-Version: 3.0.0...

Das lustige ist, dass er mir alles crawlt ,cached und indexiert, aber keine results bei der Suche ausgibt... (Ausnahme: News und fe_user, da hierfür die Index-Config für DB-records angegeben wurde, scheinbar hat die Index-Config "page tree" keine Auswirkungen auf die Suchergebnisse !!! )

Meine Seite zeigt einen Login (wenn nicht angemeldet) und die Home- und Unterseiten (wenn angemeldet)...

HEUL !

[EDIT:]
ja... wie gedacht... selbes Ergebnis... 😢

mrgaribaldi ·
sventb schrieb

Hi Jonas,

nachdem du das News-Plugin erstellt hast, mußt du auf die Seite, auf der die Detail-Ansicht der News angezeigt wird, den Datensatz "Indexierungseinstellungen" anlegen, Typ "Datenbank Datensätze", "News" als "Zu indexierende Tabelle" auswählen, als Quell-Seite die Seite mit den News-Datensätzen auswählen, in Felder kommt "title,subtitle,bodytext" und in GET-Parameter-String "&tx_ttnews[tt_news]=###UID###".

Jetzt kannst du die Indexierung drüberlaufen lassen und die News sollten indexiert werden. Aber wenn du eine News löscht und die Indexierung nochmal drüber laufen läßt, ist die Detailansicht der News noch immer im Index.

Danke für deine Hilfe.

Hi,

die Beiträge hier haben mir sehr geholfen.
Jedoch habe ich bei der Indexierung der News (tt_news) noch das Problem, das keine Dateianhänge (PDF etc.) indexiert werden. Also generell klappt das indexieren von Dateianhängen richtig, nur bei den News nicht.

Hat jemand einen Tipp?