首页 > 解决方案 > 如何使用 DDEV 为 TYPO3 设置 Solr 服务器?

问题描述

我有使用 DDEV 设置的 TYPO3 开发环境。现在我想将 Solr 服务器添加到它,并使用 Ext:Solr 扩展进行索引和搜索。

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

标签: solrtypo3ddev

解决方案


编辑: 如何为 TYPO3 配置 Solr 服务器的说明已包含在官方 ddev-contrib 存储库中,可在此处找到: https ://github.com/drud/ddev-contrib/tree/master/docker-compose-服务/typo3-solr

原答案:

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

  1. 配置 Solr 容器

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

    version: '3.6'
    
    services:
      solr:
        container_name: ddev-${DDEV_SITENAME}-solr
        image: typo3solr/ext-solr:10.0.1
        restart: "no"
        ports:
          - 8983
        labels:
          com.ddev.site-name: ${DDEV_SITENAME}
          com.ddev.approot: $DDEV_APPROOT
        environment:
          - VIRTUAL_HOST=$DDEV_HOSTNAME
          - HTTP_EXPOSE=8983
        volumes:
          - "./solr:/opt/solr/server/solr"
          # If you want your solr to persist over `ddev stop` and `ddev start` then uncomment the following line
          # If you uncomment it and want to flush your data you have to `ddev stop` and then
          # `docker volume rm ddev-<projectname>_solrdata` to destroy it.
    #      - solrdata:/var/solr
      web:
        links:
          - solr:$DDEV_HOSTNAME
    
    volumes:
      # solrdata is a persistent Docker volume for this project's solr data
      solrdata:
    

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

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

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

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

    所以你应该有一个结构.ddev/solr

    • /solr.xml
    • /核心/
    • /配置集/
  3. 配置 TYPO3 访问 Solr

    你可以使用 TypoScript 来做到这一点:

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

推荐阅读