Ta treść została automatycznie przetłumaczona z ukraińskiego.
Podczas konfigurowania dodatku wyszukiwania SearchBox na Heroku wystąpił błąd podczas uruchamiania indeksacji z konsoli.
Loading production environment (Rails 7.0.4.3) irb(main):001:0> Document.__elasticsearch__.create_index! force: true Klient nie może zweryfikować, że serwer jest Elasticsearch. Niektóre funkcje mogą być niekompatybilne, jeśli serwer działa na nieobsługiwanym produkcie. /app/vendor/bundle/ruby/3.2.0/gems/elasticsearch-8.17.1/lib/elasticsearch.rb:103:in `verify_elasticsearch’:ssupport this unknown product. (Elasticsearch::UnsupportedProductError)
Zainstalowane były biblioteki ostatnich wersji (8):
gem 'elasticsearch-model' gem 'elasticsearch-rails'
Oficjalna dokumentacja mówi:
Upewnij się, że używasz wersji klienta 7, jeśli otrzymasz błąd Klient zauważył, że serwer nie jest obsługiwaną dystrybucją Elasticsearch podczas łączenia się z twoim punktem końcowym.
Jednak nie uda się zablokować wersji elasticsearch-model i elasticsearch-rails na 7. one zależą od elasticsearch 8 lub 7.17 (co również nam nie odpowiada)
irb(main):001:0> Topic.__elasticsearch__.create_index! force: true /app/vendor/bundle/ruby/3.2.0/gems/elasticsearch-7.17.11/lib/elasticsearch.rb:86:in `verify_with_version_or_header': Klient zauważył, że serwer nie jest obsługiwaną dystrybucją Elasticsearch. (Elasticsearch::UnsupportedProductError)
Najlepszą opcją jest dodanie elasticsearch do Gemfile i zablokowanie go na potrzebną nam wersję 7.
gem 'elasticsearch', '7.0.0' gem 'elasticsearch-model', '7.0.0' gem 'elasticsearch-rails', '7.0.0'
Lepiej jednak rozważyć alternatywne dodatki na Heroku, takie jak Bonsai. Które używają najnowszych wersji bibliotek z potrzebnymi poprawkami. Bezpieczeństwo ponad wszystko.
Ten post nie ma jeszcze żadnych dodatków od autora.