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

How to set up Solr server for TYPO3 using DDEV?

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

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

编辑: 如何为 TYPO3 配置 Solr 服务器的说明已包含在官方 ddev-contrib 存储库中,可在此处找到: https://github.com/drud/ddev-contrib/tree/master/docker-compose-services/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 配置和核心配置从 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/
     }
    }