← StartseiteProgrammierung (Програмування)

[Fix] Heroku / SearchBox-Addon - Indexierungsfehler "Der Client kann den Server nicht als Elasticsearch verifizieren"

[Fix] Heroku / SearchBox-Addon - Indexierungsfehler "Der Client kann den Server nicht als Elasticsearch verifizieren". Wir installieren die erforderlichen Abhängigkeiten.

Dieser Inhalt wurde automatisch aus dem Ukrainischen übersetzt.
Beim Einrichten des Such-Addons SearchBox auf Heroku ist ein Fehler beim Starten der Indizierung über die Konsole aufgetreten.
Lade Produktionsumgebung (Rails 7.0.4.3)
irb(main):001:0> Document.__elasticsearch__.create_index! force: true
Der Client kann nicht überprüfen, ob der Server Elasticsearch ist. Einige Funktionen sind möglicherweise nicht kompatibel, wenn der Server ein nicht unterstütztes Produkt ausführt.
/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)
Installiert waren die letzten Versionen (8):
gem 'elasticsearch-model'
gem 'elasticsearch-rails'
Die offizielle Dokumentation sagt:
Stellen Sie sicher, dass Sie die Client-Version 7 verwenden, wenn Sie den Fehler erhalten, dass der Client festgestellt hat, dass der Server keine unterstützte Distribution von Elasticsearch ist, während Sie sich mit Ihrem Endpunkt verbinden.
Aber es wird nicht möglich sein, die Versionen elasticsearch-model und elasticsearch-rails auf 7 zu sperren. Sie hängen von elasticsearch 8 oder 7.17 ab (was für uns ebenfalls nicht geeignet ist)
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': Der Client hat festgestellt, dass der Server keine unterstützte Distribution von Elasticsearch ist. (Elasticsearch::UnsupportedProductError)
Der beste Weg ist also, elasticsearch zur Gemfile hinzuzufügen und es auf die benötigte Version 7 zu sperren.
gem 'elasticsearch', '7.0.0'
gem 'elasticsearch-model', '7.0.0'
gem 'elasticsearch-rails', '7.0.0'
Es ist jedoch besser, alternative Addons auf Heroku zu betrachten, wie Bonsai. Diese verwenden die neuesten Versionen der Bibliotheken mit den erforderlichen Patches. Sicherheit geht vor.

🔥 Weitere Beiträge

Alle Beiträge
Was ist PORO in Ruby?
Programmierung (Програмування)8. Dez '24, 12:46 Uhr

Was ist PORO in Ruby?

Was ist PORO (Plain Old Ruby Object) in Ruby, wie verwendet man es, um verständlichen Code zu sch...

Was ist CFB (Cipher Feedback)?
Programmierung (Програмування)21. Mär '25, 16:53 Uhr

Was ist CFB (Cipher Feedback)?

CFB (Cipher Feedback) – ist ein Verschlüsselungsmodus, bei dem jeder Block von dem vorherigen abh...