2017-09-15 8 views
0

背景:私たちのページツリーは、言語オーバーレイやドメインごとに別々のドメインでは機能しません。異なる言語は、ドメインの下のサブツリーで表されます。TYPO3のドメイン内の異なるサブツリーに対して異なるSolrコアを使用できますか?

ページツリー:

  • example.com(Rootpage +のsys_domain)
      • Seite 1
      • Seite 2
    • EN 10
      • ページ1
      • 2ページ

我々はTYPO3、EXT使用している:SolrのとSolrのを。

TYPO3のドメイン内の異なるサブツリーに異なるSolrコアを使用することはできますか?

これまでのところ、私はTS-Conditions [globalVar = GP:L = 1]に基づいて異なる言語とコアを扱うソリューションを発見しました。しかし、それは私たちのユースケースではありません。

また、ユースケースを正確に表す6年前の質問が見つかりましたが、肯定的な回答(https://forum.typo3.org/index.php/t/158570/)はありません。

誰かが私にヒントを与えることができますか?このユースケースは可能ですか?

答えて

3

はい、これはEXTのバージョン7で可能です:Solrの

  • 設定ページの "Rootpageとして使用する" "デ" とページRootpageの削除 "Rootpageとして使用"
  • "EN"、セットならば(EXTを使用している場合:RealURLは、明示的な構成でそれを設定してください)
  • はあなたAdditionalConfiguration.php

`

に次の行を追加します。
$GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['solr']['sites']['<uid of page "de">']['domains'] = ['your.domain.de']; 
$GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['solr']['sites']['<uid of page "en">']['domains'] = ['your.domain.de']; 
  • 設定のTypoScript定数のページ「ド」と「EN」のコアは、あなたが必要として、それ

`次に

plugin.tx_solr { 
    solr { 
    scheme = http 
    host = <your-solr-dhost> 
    port = 80 
    path = <your-solr-core> 
    } 
} 

あなたはインデックスサイトにスケジューラのタスクに必要... 1つは「de」、もう1つは「en」です。

非常にうまく動作します:-)

0

私の経験から、おそらくほとんど不可能です。 その理由は、そのEXT:solrツールは、バックエンドとフロントエンドの両方のコンテキストで同時に働く共通のTypoScript設定を1つ必要とするからです。 これは、フロントエンドの要求(ページツリーの任意の位置で構成を異ならせることができる)に基づいてではなく、ドメインルートとしてマークされたページに基づいて、TypoScript構成を評価することを選択した理由です。

したがって、構成パーサーは最初にこのようなページを探して、その特定のレベル/ポイントのTypoScriptセットアップを評価します。

あなたの唯一の解決策は、上記のマカニズムにかなり深い変更を加えることです。これは可能です。私は自分自身で作成しました。 このようにして、ツリー内の任意の固定位置からTypoScript設定をフェッチするようエンジンに指示することができます。

これを試してみたい場合は、これを拡張するクラスメソッドになります。ApacheSolrForTypo3 \ Solr \ ConnectionManager :: getConfiguredSolrConnections()

関連する問題