FOSElasticaBundle не заполняет доступные для поиска документы в AWS ElasticSearch

Я пытаюсь заставить 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 вызывает проблему.

Я настроил сервис ElasticSearch (v6.2) в AWS, используя их вариант VPN, я могу подключиться к нему (я знаю, что он подключается, так как у меня были ошибки подключения, пока я не использовал это в конфигурации:

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

Но после завершения моя консоль Amazon показывает 0 документов с возможностью поиска, и если запустить запрос, я ничего не получу.

Кто-нибудь сталкивался с этим и какие-либо идеи, как его решить, даже возможность получить больше отзывов от populate поможет мне разобраться, где что-то идет не так.

Изменить 17:29 31/5

Итак, я создал установку Elasticsearch в контейнере докеров на стандартном экземпляре EC2 и указал на нее, и она отлично индексируется, так что это как-то связано с подключением к AWS. Одно из различий между ними заключается в том, что для установки Docker необязательно использовать:

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

Я предполагаю, что это как-то связано с этим, я бы подумал, что если бы это не было разрешено, я бы получил сообщение об ошибке. Хотя в настоящее время он работает, я бы предпочел использовать сервис Amazon, чтобы не упустить возможность установить его!

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Symfony Station Communiqué - 17 февраля 2023 г
Symfony Station Communiqué - 17 февраля 2023 г
Это коммюнике первоначально появилось на Symfony Station , вашем источнике передовых новостей Symfony, PHP и кибербезопасности.
Управление ответами api для исключений на Symfony с помощью KernelEvents
Управление ответами api для исключений на Symfony с помощью KernelEvents
Много раз при создании api нам нужно возвращать клиентам разные ответы в зависимости от возникшего исключения.
2
0
422
2

Ответы 2

моя проблема заключалась в пустых значениях aws_access_key_id и aws_secret_access_key. Пожалуйста, проверь это.

У меня такая же проблема, но без использования access_key. Решение заключалось в добавлении в транспортный ключ конфигурации клиента со значением https.

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

Другие вопросы по теме