Antwort
 
LinkBack Themen-Optionen Thema bewerten Ansicht
  #1  
Alt 22.05.08, 11:45
Forum Newbie
 
Registriert seit: 17.04.08
Beiträge: 23

Indexierte Dateien werde nur in der default Sprache gefunden


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
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!Spurl this Post!Reddit! Diesen Post bei linksilo.de bookmarken!
Mit Zitat antworten
  #2  
Alt 29.05.08, 17:04
Forum Zuschauer
 
Registriert seit: 27.05.08
Alter: 40
Beiträge: 5

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.
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!Spurl this Post!Reddit! Diesen Post bei linksilo.de bookmarken!
Mit Zitat antworten
  #3  
Alt 30.05.08, 11:06
Forum Newbie
 
Registriert seit: 17.04.08
Beiträge: 23

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:  );
Somit werden alle Dateien auf sys_language_uid = 99 gesetzt.

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:  }
Somit werden alle gefundenen Dateien mit ausgegeben.

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
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!Spurl this Post!Reddit! Diesen Post bei linksilo.de bookmarken!
Mit Zitat antworten
  #4  
Alt 30.05.08, 16:24
Forum Zuschauer
 
Registriert seit: 27.05.08
Alter: 40
Beiträge: 5

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
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!Spurl this Post!Reddit! Diesen Post bei linksilo.de bookmarken!
Mit Zitat antworten
  #5  
Alt 02.06.08, 08:00
Forum Newbie
 
Registriert seit: 17.04.08
Beiträge: 23

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
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!Spurl this Post!Reddit! Diesen Post bei linksilo.de bookmarken!
Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


Ä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


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:46 Uhr.


Powered by vBulletin® Version 3.7.3 (Deutsch)
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.1.0