Zum Inhalt springen

SOLR (Mittwald) Multipage Multilanguage Keine Indizierung

Erstellt am 15. April 2014 · Noch keine Antworten

Tags: Suche, TYPO3 4.x, Frage

hardcoder ·

Hallo Leute,

ich brauche eure Hilfe:

Typo3 4.5.32 -> Solr 2.8.3 (bei Mittwald) -> Multipage & Multilanguage

a) Mehrere Root-Pages unter ID=0
b) Erste Rootpage [id=1] trägt default-Sprache [0=de] und alle möglichen Sprachen (z. Z. 16)
c) Andere Rootpages haben den Seitenbaum in der Default-Sprache nur als "Aufhänger" und bedienen sich von der "Hauptrootpage (id=1)" (sind ihr aber nicht in der Hirarchie untergeordnet - existieren parallel) mittels "Zeige Seiteninhalt von" bzw. "tt_content - Link". Für Abweichenden Kontent kann man dort Seiten mit eigenen CE's versehen
d) Jede Root-Seite hat eine eigene ergänzendes/überschreibendes TS-Datei

<INCLUDE_TYPOSCRIPT: source="FILE:fileadmin/templates/ts/init.ts">

e) RealURL deaktiviert (soll später jedoch laufen)
f) Alle Rootpages inkludieren zuerst Global-TS welches danach von Punkt-d) ergänzt bzw. überschrieben wird:

config.sys_language_mode	= content_fallback
config.sys_language_overlay = hideNonTranslated
config.content_from_pid_allowOutsideDomain = 1

# Solr wird in den jew. localizations_xx.ts aktiviert
config.index_enable = 0
plugin.tx_solr.enabled = 0
plugin.solr.path >

g) Hauptrootpage-TS

[PIDinRootline=1] && [globalVar = GP:L = 0]

    config.sys_language_uid = 0
    config.language = de
    config.locale_all = de_DE.utf8
    config.htmlTag_langKey = de

    # SOLR
		config.index_enable = 1
    plugin.tx_solr.enabled = 1
    plugin.tx_solr.solr.path = /typo3_de_de/

[global]

h) Beispiel einer "Unter"-Root-page-TS

[PIDinRootline=9075] && [globalVar = GP:L = 16]
config.sys_language_uid = 16
config.language = zh
config.locale_all = zh_CN.utf8
config.htmlTag_langKey = zh

# SOLR
config.index_enable = 1
plugin.tx_solr.enabled = 1
plugin.tx_solr.solr.path = /typo3_zh_cn/

[global]

Alle Kerne existieren werden im Solradmin-Modul und "Search"-Modul auch zur Auswahl angeboten.

Nur leider wird der Baum mit Rootpage = 9075 und L=16 nicht indiziert:

code	1275399922
message	Could not find a Solr connection for root page [9075] and language [0]. Initial page used was [9098]

ich habe testhalber direkt in den TS-Datensatz

config.sys_language_uid = 16

Eingetagen - leider kommt in Indexer immer die "0" an :-(

was könnte ich noch Prüfen oder wo ist mein Denkfehler?

Ich hoffe Ihr könnt mich verstehen und sogar helfen - Vielen Dank!

UPDATE:

Erzwing ich die sprache ich in:

solr/classes/class.tx_solr_connectionmanager.php

	public function getConfigurationByPageId($pageId, $language = 0, $mount = '') {
		$solrConfiguration = FALSE;

			// find the root page
		$pageSelect     = t3lib_div::makeInstance('t3lib_pageSelect');
		$rootLine       = $pageSelect->getRootLine($pageId, $mount);
		$siteRootPageId = $this->getSiteRootPageIdFromRootLine($rootLine);
/*FORCE*/
		if($siteRootPageId ==9075)$language =16;

		try {
			$solrConfiguration = $this->getConfigurationByRootPageId($siteRootPageId, $language);
		} catch (tx_solr_NoSolrConnectionFoundException $nscfe) {
			$noSolrConnectionException = t3lib_div::makeInstance(
				'tx_solr_NoSolrConnectionFoundException',
				$nscfe->getMessage() . ' Initial page used was [' . $pageId . ']',
				1275399922
			);
			$noSolrConnectionException->setPageId($pageId);

			throw $noSolrConnectionException;
		}

		return $solrConfiguration;
	}

wird das ganze wunschgemäß indiziert.

Wieso setzt

config.sys_language_uid = 16

Im Root-Template $language nicht auf 16?

Ich bin ganz ralos ...