gpt4 book ai didi

symfony - FOSElasticaBundle 未填充 AWS ElasticSearch 中的可搜索文档

转载 作者:行者123 更新时间:2023-12-02 22:28:53 25 4
gpt4 key购买 nike

我正在尝试让 FOSElasticaBundle 在 AWS ElasticSearch 上工作。目前,我的开发环境已全部设置好,并且使用 Docker 容器进行 ElasticSearch 完美运行
FROM docker.elastic.co/elasticsearch/elasticsearch-oss:6.2.4
如果我使用以下方法填充我的 ElasticSearch:
docker-compose exec php php /var/www/symfony/bin/console fos:elastica:populate --env=prod
这一切都完美无缺,索引中有可搜索的项目。

然而,将其转移到 AWS 会引发一个问题。

我已经使用他们的 VPN 选项在 AWS 中设置了 ElasticSearch 服务(v6.2),我能够连接到这个(我知道它确实连接,因为我有连接错误,直到我在配置中使用它:

fos_elastica:
clients:
default:
transport: 'AwsAuthV4'
aws_access_key_id: '%amazon.s3.key%'
aws_secret_access_key: '%amazon.s3.secret%'
aws_region: '%amazon.s3.region%'

当我跑
php bin/console fos:elastica:populate --env=prod看起来它正在填充
3200/6865 [=============>--------------]  46% 4 secs/9 secs
Populating ppc/keywords
Refreshing ppc

但是一旦完成,我的亚马逊控制台显示 0 个可搜索文档,如果运行查询,我什么也得不到。

有没有人遇到过这个问题以及如何解决它,即使能够从 populate 获得更多反馈也能帮助我找出问题所在。

编辑 17:29 31/5

因此,我在标准 EC2 实例上的 docker 容器中创建了一个 Elasticsearch 安装并指向它,它完美地索引,所以它与与 AWS 的连接有关。它们之间的区别之一是 Docker 安装不必使用:
transport: 'AwsAuthV4'
aws_access_key_id: '%amazon.s3.key%'
aws_secret_access_key: '%amazon.s3.secret%'
aws_region: '%amazon.s3.region%'

我想这与此有关,我会想如果它没有被授权,虽然我会得到一个错误。虽然它目前正在工作,但我更喜欢使用亚马逊服务,这样我就需要花很多时间来关注它!

最佳答案

我有同样的问题,但没有使用 access_key。
解决方案是向客户端配置 key 传输添加值 https

fos_elastica:
clients:
default:
host: vpc-xxxxxxxxxxxxxxxxxxxxxxxxx.es.amazonaws.com
port: 443
transport: https

关于symfony - FOSElasticaBundle 未填充 AWS ElasticSearch 中的可搜索文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50625811/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com