![]() |
| | LinkBack | Themen-Optionen | Thema bewerten | Ansicht |
|
#1
| |||
| |||
Hallo, wenn ich in einer nicht default sprache nach indexierten dateien suche werden keine gefunden. Alle indexierten Dateien werden (bei mir) automatisch der default Sprache zugeordnet (Tabele index_phash FELD sys_language_uid = 0). Weiss jemand wo bzw. wie ich das aendern kann? Gruss nik |
|
#2
| |||
| |||
| Hi Nik, ich hab genau das gleiche Problem und hänge da nun schon seit langer (und nervenaufreibender) Zeit, ohne der Lösung näher zu kommen. Komischerweise taucht dieses topic (fast) nirgendwo in den einschlägigen Foren auf. (Schön, dass Du einen thread eröffnet hast!) Mir ist – auch nach groben Blicken in den php-Quellcode der indexed search – nicht klar, wie das sprachbezogene Indexieren von externen (PDF-)Dateien überhaupt funktionieren soll. Der sys_language_uid -Parameter wird für externe Dateien gar nicht gesetzt, (sondern erhält den index-phash-Tabellen-default-Wert 0). Auch in die Erzeugung des pHashes fließt kein Sprachparameter ein. Umso erstaunlicher, dass die Suche nach externen Dateien sprachbezogen dann doch funktioniert, wenn man die sys_language_uid in der index-phash-Tabelle manuell auf den richtigen Wert setzt!! Aber sinnvollerweise müsste die sprachspezifische Suche doch eigentlich über einen phash laufen... denn wie sonst sollte z.B. eine Datei, die auf der gleichen Seite in mehreren Lokalisationen verlinkt ist, also dann mehreren Sprachen zugeordnet sein müsste, gefunden werden, wenn der einzige sprachrelevante Parameter die sys-language-uid ist, oder was? Ein einziges Rumgestocher. Ich versteh es nicht. Bist Du unterdessen weitergekommen? Gruß, Jan. |
|
#3
| |||
| |||
| Hi Jan, ja bei mir läuft es jetzt aber ich habe es noch nicht gepostet, da es (k)eine allgemeine und saubere Lösung ist. Ich habe zwei Ext.-Programme geaendert. Ich habe die Funktion submitFilePage im Programm class.indexer.php wie folgt geändert. Code: 1487: $fields = array( 1488: 'phash' => $hash['phash'], … 1505: 'freeIndexSetId' => intval($this->conf['freeIndexSetId']), 1506: 'sys_language_uid' => intval(99), 1507: ); Für das Auslesen bzw. Suche habe ich noch die Funktion languageWhere im Programm class.tx_indexedsearch.php wie folgt geändert: Code: 995: function languageWhere() {
996: if ($this->piVars['lang']>=0) { // -1 is the same as ALL language.
997: return 'AND (IP.sys_language_uid='.intval($this->piVars['lang']).' OR IP.sys_language_uid=99)';
998: }
999: } Fazit: Gefundene Dateien, egal in welcher Sprache gesucht wird, werden jetzt immer mit ausgegeben. Aber: Ich bin mir noch nicht sicher ob eine sprachbezogene suche sinn macht. Da ich logischerweise davon ausgehe, das der Suchende schon eine bestimmtest Wort in einer bestimmten Sprache eingegeben hat („Accounting“ wird wohl eher auf einer englischen Seite zu finden sein und „Buchhaltung“ eher auf der deutschen). Gruß Nik |
|
#4
| |||
| |||
| Moin Nik, danke für Dein Posting! Hat mir weiter geholfen. Ich hab das bei mir jetzt folgendermaßen gelöst: An der von Dir ausfindig gemachten Stelle in der Funktion submitFilePage in der Datei class.indexer.php setze ich: 'sys_language_uid' => $this->conf['sys_language_uid'], Auf diese Weise wird das sys_language_uid-Feld für jede ext. Datei mit dem Sprachparameter der Seite, auf der die Datei verlinkt ist, belegt. Und dann wie gewünscht sprachbezogen gefunden. (Also Datei 'X_english.pdf' (verlinkt auf einer englischsprachigen Seite) nur beim englischen Suchen; Und Datei 'X_deutsch.pdf' (verlinkt auf einer deutschsprachigen Seite) nur beim deutschen Suchen). Diese sprachbezogene Suche scheint mir sinnvoll, wenn z.B. nach Eigennamen gesucht wird, die in allen Sprach-Lokalisationen auftauchen. Beim sprachbezogenen Suchen wird dann aber nur die Datei der ausgewählten Sprache gelistet. ABER: Bei diesem Ansatz (ohne den phash zu verändern und nur die sys_language_uid zu setzen) wird eine Datei, die auf mehreren Lokalisationen der gleichen Seite verlinkt ist, nur bei einer Sprache gefunden ... Aber damit kann ich erstmal leben. Was ich immer noch nicht verstehe: dass für diese mir alltäglich scheinende Anforderung an eine Dateisuche im Quellcode gewurstelt werden muss...!? Vielleicht gibt's ja doch noch die reine TS-Lösung ![]() Einen schönen Gruß, Jan |
|
#5
| |||
| |||
| Morgen Jan, Dein Ansatz ist sehr gut wenn die Dateien auf Seiten verlinkt sind (wie bei Dir). Bei mir werden die Dateien mittels PHP in explorer Format im Typo3 contents angezeigt und werden nicht gecacht und somit auch nicht indexiert. Deshalb kann ich sie zur Zeit keiner Sprache zuordnen. Ich gehe via Crawler über ca. 5500 Verzeichnisse mit ca. 57000 Dateien und indexiere sie. Später werden bzw. sollen die Dateien je nach dem in welchem Unterverzeichnis sie stehen der Sprache zugeordnet werden (/de/, /fr/, /en/ oder /nl/). Dazu werde ich wohl in der Funktion submitFilePage() den data_filename abfragen. UND: Was Du immer noch nicht verstehst, versehe ich auch nicht, weil es für mich auch etwas Alltägliches ist. Aber vielleicht kommt ja noch jemand mit einer TS-Lösung und wir beide haben den Aha Effekt. Von dem Alltäglichen habe ich noch eins: “Meine PDF Dateien werden teilweise gespiegelt durch pdftotext ausgegeben und dann auch gespiegelt indexiert“ dieses Problem schein auch nur ich zu haben. ![]() Gruß und eine schöne Woche Nik |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | Thema bewerten |
| |
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| tt_news | Default-Sprache ändern | grunwalski | News (tt_news, mininews und Co) | 2 | 26.09.08 10:31 |
| Mehrsprachigkeit - Default Sprache wird im Menü angezeigt | JaCk | TYPO3 4.x Fragen und Probleme | 1 | 03.09.07 13:15 |
| Templavoila + Multilang = nur default Sprache wird angezeigt | Winddancer | TYPO3 4.x Fragen und Probleme | 5 | 21.05.07 13:20 |
| Standard/default Sprache Fahne zuweisen | retro | TYPO3 3.x Fragen und Probleme | 4 | 04.04.07 17:08 |
| default sprache deutsch? | ilinca | News (tt_news, mininews und Co) | 3 | 06.03.06 13:37 |