2017-09-15 17 views
0

背景:我们的pagetree不适用于语言叠加层,也不适用于每个域的单独域。不同的语言由域下的子树表示。TYPO3中的域中的不同子树可以使用不同的Solr核心吗?

Pagetree:

  • example.com(Rootpage + sys_domain)
      • Seite 1
      • 页面2
      • 第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”如果设置(如果使用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> 
    } 
} 

然后,你需要调度的任务索引网站......一个用于“de”,一个用于“en”。

作品相当不错这里:-)

0

从我的经验是最有可能不可能的。 原因是,EXT:solr工具需要一个同时适用于后端和前端上下文的常见TypoScript配置。 这就是为什么他们选择不基于前端请​​求评估TypoScript配置(这可能会使页面树中任何位置的配置不同),而是基于标记为域根的页面。

因此,配置解析器首先查找这样的页面,然后评估树中特定级别/点的TypoScript设置。

我认为你唯一的解决方案是对上述机制做出相当深刻的改变,这是可能的,我自己做了(因为我有许多根本原因而排除了一些根级页面)。 这样,您可以指示引擎从您想要的树中的任何固定位置获取TypoScript设置。

如果您有兴趣尝试此操作,这将是扩展的类方法:ApacheSolrForTypo3 \ Solr \ ConnectionManager :: getConfiguredSolrConnections()

相关问题