如何使用DDEV为TYPO3设置Solr服务器?

时间:2018-07-23 12:57:39

标签: solr typo3 ddev

我已经使用DDEV设置了TYPO3开发环境。 现在,我想向其中添加Solr服务器,并使用Ext:Solr扩展进行索引和搜索。

如何将Solr服务器设置为可从ddev Web容器使用?

1 个答案:

答案 0 :(得分:6)

为了使用DDEV为TYPO3配置Solr服务器,您需要执行以下步骤:

  1. 配置Solr容器

    创建.ddev/docker-compose.solr.yaml文件:

    version: '3.6'
    
    services:
      solr:
        image: typo3solr/ext-solr:8.0.3
        restart: always
        ports:
          - 8983
        labels:
          com.ddev.site-name: ${DDEV_SITENAME}
          com.ddev.approot: $DDEV_APPROOT
          com.ddev.app-url: $DDEV_URL
        environment:
          - VIRTUAL_HOST=$DDEV_HOSTNAME
          - HTTP_EXPOSE=8983
        volumes:
          - "./solr:/opt/solr/server/solr"
          - "$HOME/.ddev/${DDEV_SITENAME}/solr/data:/opt/solr/server/solr/data"
      web:
        links:
          - solr:$DDEV_HOSTNAME
    

    有关配置的更多详细信息,请参阅ddev文档:https://ddev.readthedocs.io/en/latest/users/extend/custom-compose-files/

    此配置将创建Solr容器并通过您的主机上的http://<project-name>.ddev.local:8983/solr/使Solr管理面板可用。

  2. 将默认的Solr配置从Ext:Solr复制到ddev

    创建文件夹路径.ddev/solr。然后复制 从typo3conf/ext/solr/Resources/Private/Solr.ddev/solr的Solr配置和核心配置。

    因此,您应该在.ddev/solr下有一个结构:

    • /solr.xml
    • / cores /
    • / configsets /
  3. 允许Solr访问您的Web容器以建立索引。

    以下配置使本地域可用于从docker Web容器内进行爬网,请参见问题:https://github.com/drud/ddev/issues/842

    创建.ddev/docker-compose.hosts.yaml文件:

    version: '3'
    services:
      web:
        extra_hosts:
         - "${DDEV_SITENAME}.ddev.local:127.0.0.1"
    
  4. 配置TYPO3来访问Solr

    您可以使用TypoScript做到这一点:

    plugin.tx_solr {
     solr {
       host = solr
       port = 8983
       path = /solr/core_en/
     }
    }