Elasticsearch 5.1 - Problem

Hi, folgendes aktuell habe ich gerade zwei Testsysteme mit 5.1 + Elasticsearch laufen. [list=1] Apache2 + php 5.5.9 Nginx + php 5.4.23 [/list] Der Nginx ist an unser Livesystem angepasst, da dort auch aktuell noch php 5.4.23 läuft. Folgendes ist nun das Problem der Nginx Server stellt kein Artikel da wenn man Elasticsearch in der config.php aktiviert. Man sieht die normale Landingpage welche auch normal aufgebaut ist. Jedoch wenn man auf eine Kategorie klickt, sind keine Artikel vorhanden und das Suchfeld ist auch dann Weg. Im Frontend sieht man die Standard Fehler Meldung: „Ups! Ein Fehler ist aufgetreten! Wir wurden bereits über das Problem informiert und arbeiten an einer Lösung, bitte versuchen Sie es in Kürze erneut.“ Beim Apache2-Server läuft alles ohne Probleme. Elasticsearch hat keine Fehlermeldung, und auch Shopware wirft kein Fehler in die Logfiles. Test halber habe ich die Nginx Elasticsearch mit der vom Apache2 getauscht auch keine Wirkung. Index in den Elasticsearch steht, Suchbegriff sind mit „http://HOST:9200/_search?q=SUCHBEGRIFF“ auffindbar. Könnte das ganze was mit der Config vom Nginx, PHP oder einem fehlerhaften Update zu tun haben?

Was sagt denn der error log vom nginx oder php log? Irgendeinen Fehler muss inden logs stehen bei “Ups”. Vielleicht hilft das auch weiter: https://gist.github.com/karmi/b0a9b4c111ed3023a52d oder das: https://www.nginx.com/blog/nginx-elasti … -together/

Werde ich mal durch schauen Morgen. PS: Die Logs waren unauffällig soweit. Jedoch bei der Erstellungen, eines weiteren Server scheint es das die Konfiguration des Nginx nicht passend ist. Neue nginx-Direktiven steht bereit und wird gleich getestet.

Hallo, wir haben das selbe Problem bei einem Server. Sobald Elasticsearch aktiviert ist und der Cache erneuert wurde, funktioniert die Seite nicht mehr. Die Typische "Ups… " Meldung ohne Fehlereintrag in den Logfiles. Wir benutzen NGINX mit SPDY und Pagespeed als Cache für den Static Content und Apache2 mit PHP5.6 Woran könnte dies liegen? Muss der Port 9200 auch nach außen hin erreichbar sein oder recht Local? Per Firewall habe ich den Port nur für Localhost erlaubt.

Also der Port sollte nur local erreichbar sein. Ansonsten muss man den Zugriff begrenzen das nur bestimmte Port zugreifen dürfen. Sieht eure Shopware config.php ungefähr so aus: <?php return array_replace_recursive( [ 'es' => ['enabled' =\> true, 'client' =\> [ 'hosts' =\> [ 'localhost:9200'] ] ], 'db' =\> ['username' =\> 'USER', 'password' =\> 'PASSWORD', 'dbname' =\> 'DBNAME', 'host' =\> 'localhost', 'port' =\> '3306'] ]);

<?php return array ( 'db' => array ( 'host' =\> 'localhost', 'port' =\> '3306', 'username' =\> 'username', 'password' =\> 'password', 'dbname' =\> 'dbname', ), 'es' =\> array ( 'enabled' =\> false, 'client' =\> array ( 'hosts' =\> array ( 'localhost:9200' ) ) ), ); Ich habs erstmal abgestellt, damit die Seite benutzbar ist.

Die config sieht gut aus. Im Terminal funktioniert „curl -XGET ‚http://localhost:9200/_status?pretty=true‘“ ? Ich denke Ihr folgt auch dem „https://developers.shopware.com/sysadmins-guide/elasticsearch-setup“ Ansonsten mal schauen was passiert wenn Ihr „php bin/console sw:es:index:populate“ ausführt ob ein Log ensteht in Shopware oder in Elasticsearch. Sollte dies nicht der Fall sein einfach mal eine manuelle Suche über Curl ausführen. „curl -XGET ‚http://localhost:9200/_search?q=HERSTELLERNAME&pretty=true‘“ HERSTELLERNAME ersetzen durch ein Herstellernamen ^^ Wenn Ihr die Ausgaben hab einfach mal hier posten.

Hallo, Hier einmal die Ausgabe: curl -XGET 'http://localhost:9200/\_status?pretty=true' { "error" : { "root\_cause" : [{ "type" : "illegal\_argument\_exception", "reason" : "No feature for name [\_status]" } ], "type" : "illegal\_argument\_exception", "reason" : "No feature for name [\_status]" }, "status" : 400 } Sowie für die Suche eines Herstellers: curl -XGET 'http://localhost:9200/\_search?q=Alfi&pretty=true' { "took" : 137, "timed\_out" : false, "\_shards" : { "total" : 15, "successful" : 15, "failed" : 0 }, "hits" : { "total" : 15, "max\_score" : 0.95636487, "hits" : [{ "\_index" : "sw\_shop1\_20151201000002", "\_type" : "product", "\_id" : "103735", "\_score" : 0.95636487, "\_source":{"number":"103735","mainVariantId":4605,"id":4599,"variantId":4605} }, { "\_index" : "sw\_shop1\_20151130172054", "\_type" : "product", "\_id" : "103735", "\_score" : 0.9499211, "\_source":{"number":"103735","mainVariantId":4605,"id":4599,"variantId":4605} }, { "\_index" : "sw\_shop1\_20151130165246", "\_type" : "product", "\_id" : "103735", "\_score" : 0.92893445, "\_source":{"number":"103735","mainVariantId":4605,"id":4599,"variantId":4605} }, { "\_index" : "sw\_shop1\_20151130172054", "\_type" : "product", "\_id" : "103734", "\_score" : 0.90210927, "\_source":{"number":"103734","mainVariantId":4606,"id":4600,"variantId":4606} }, { "\_index" : "sw\_shop1\_20151201000002", "\_type" : "product", "\_id" : "103734", "\_score" : 0.88593423, "\_source":{"number":"103734","mainVariantId":4606,"id":4600,"variantId":4606} }, { "\_index" : "sw\_shop1\_20151201000002", "\_type" : "product", "\_id" : "103732", "\_score" : 0.8673737, "\_source":{"number":"103732","mainVariantId":4608,"id":4602,"variantId":4608} }, { "\_index" : "sw\_shop1\_20151130165246", "\_type" : "product", "\_id" : "103734", "\_score" : 0.853931, "\_source":{"number":"103734","mainVariantId":4606,"id":4600,"variantId":4606} }, { "\_index" : "sw\_shop1\_20151130165246", "\_type" : "product", "\_id" : "103732", "\_score" : 0.83645827, "\_source":{"number":"103732","mainVariantId":4608,"id":4602,"variantId":4608} }, { "\_index" : "sw\_shop1\_20151130172054", "\_type" : "product", "\_id" : "103732", "\_score" : 0.8182656, "\_source":{"number":"103732","mainVariantId":4608,"id":4602,"variantId":4608} }, { "\_index" : "sw\_shop1\_20151130172054", "\_type" : "product", "\_id" : "103733", "\_score" : 0.80968034, "\_source":{"number":"103733","mainVariantId":4607,"id":4601,"variantId":4607} }] } }

Scheint was nicht ganz rund zu laufen, obwohl eine Suche möglich ist. curl -XGET 'http://localhost:9200/\_status?pretty=true' Sollte zu etwas ähnlichem führen: { "\_shards" : { "total" : 110, "successful" : 55, "failed" : 0 }, "indices" : { "sw\_shop1\_20151111153018" : { [...] bin/php bin/console sw:es:index:cleanup bin/php bin/console sw:es:backlog:clear bin/php bin/console sw:es:index:populate bin/php bin/console sw:es:backlog:sync Sollte danach noch immer curl -XGET 'http://localhost:9200/\_status?pretty=true' mit einem Fehler ausgeben werden, muss man schauen was diesen fehler Verursacht. Posten Sie die Shopware-, Elasticsearchversion und welches Java bei Ihnen läuft Orcale oder Open JRE. Edit: Wobei der Fehler „„reason“ : „No feature for name [_status]““ womöglich durch die Elasticsearchversion hervor gerufen womöglich.

Hy, danke für das Feedback. Ich habe die Steps mal durchgespielt. Komme aber zum selben Ergebnis. Installiert ist SW5.1, Elasticsearch 2.x über repro und java-1.8.0-openjdk auf CentOS6.5 Beste Grüße

Status klappt nicht da Sie Elasticsearch 2.x haben. Ich kann gerade nicht sagen welche Elasticsearchversion mit Shopware. Da Elasticsearch auch in der Version 2.x auch aktueller ist. Wir haben auf unserem System Version 1.7.3 laufen. Da diese Version zu beginn letzten Monats aktuell war. Das wäre somit vielleicht ein Versuch wert, alternative bleibt wahrscheinlich nur die Eröffnung eines Bugtickets. Ansonsten müsste man genauer Analysieren über Debug-Methoden wo genau ein Problem sein kann.

1 „Gefällt mir“

Hallo, ich bedanke mich. Ich werde mal die ältere Version installieren. Wenn dies die Lösung ist, werde ich ein Bug Ticket auf machen. SW5.1.1 oder 5.2 sollte ja später auch mit Version 2 funktionieren. Beste Grüße