# Elastic Search / Integration

**URL:** <https://forum.shopware.com/t/elastic-search-integration/34224>\
**Category:** Programmierung\
**Created:** [4. Februar 2016 um 16:00 UTC](https://forum.shopware.com/t/elastic-search-integration/34224 "2016-02-04T16:00:52Z")\
**Posts on this page:** 17\
**Page:** 1

<div class="post-metadata">

**Author:** ![ottscho](https://avatars.discourse-cdn.com/v4/letter/o/7ba0ec/32.png) [@ottscho](https://forum.shopware.com/u/ottscho)\
**Post date:** [4. Februar 2016 um 16:00 UTC](https://forum.shopware.com/t/elastic-search-integration/34224/1 "2016-02-04T16:00:52Z")

</div>

Hallo,

ich will mich an die Elastic Search Integration wagen und bin leider mit einem Fehler gescheitert.  
Die config.php habe ich angepasst:

&nbsp;

In der Console habe ich die Indexe erzeugt. Was mich wundert, es kommt keine weitere Meldung. Es bleibt einfach so stehen:

&nbsp;

Rufe ich nun den Shop auf, so erhalte ich folgende Meldung:

> **Fatal error** : Uncaught exception ‚Elasticsearch\Common\Exceptions\Missing404Exception‘ with message ‚{„error“:{„root\_cause“:[{„type“:„index\_not\_found\_exception“,„reason“:„no such index“,„index“:„sw\_shop1“,„resource.type“:„index\_or\_alias“,„resource.id“:„sw\_shop1“}],„type“:„index\_not\_found\_exception“,„reason“:„no such index“,„index“:„sw\_shop1“,„resource.type“:„index\_or\_alias“,„resource.id“:„sw\_shop1“},„status“:404}‘ in /usr/www/users/cartot/\_develop/vendor/elasticsearch/elasticsearch/src/Elasticsearch/Connections/Connection.php:519 Stack trace: #0 /usr/www/users/cartot/\_develop/vendor/elasticsearch/elasticsearch/src/Elasticsearch/Connections/Connection.php(208): Elasticsearch\Connections\Connection-\>process4xxError(Array, Array, Array) #1 /usr/www/users/cartot/\_develop/vendor/react/promise/src/FulfilledPromise.php(25): Elasticsearch\Connections\Connection-\>Elasticsearch\Connections{closure}(Array) #2 /usr/www/users/cartot/\_develop/vendor/guzzlehttp/ringphp/src/Future/CompletedFutureValue.php(55): React\Promise\FulfilledProm in **/usr/www/users/cartot/\_develop/vendor/elasticsearch/elasticsearch/src/Elasticsearch/Connections/Connection.php** on line **519**

&nbsp;

Da ich bis jetzt mit dem Thema noch keine Erfahrung habe, bin ich über jeden Tipp dankbar.

Shopware ist die Version SW 5.1.2 und ES 2.2.0

Vielen Dank

&nbsp;

---

<div class="post-metadata">

**Author:** ![ottscho](https://avatars.discourse-cdn.com/v4/letter/o/7ba0ec/32.png) [@ottscho](https://forum.shopware.com/u/ottscho)\
**Post date:** [4. Februar 2016 um 16:31 UTC](https://forum.shopware.com/t/elastic-search-integration/34224/2 "2016-02-04T16:31:19Z")

</div>

Okay, nach dem x-Versuch ist die Indexierung nun durchgelaufen. Jetzt erhalte ich keinerlei Fehlermeldung mehr und der Shop läuft relativ gut und schnell.

Was mir aber auffällt, wenn ich auf ein Hauptnavigation / Listing klicke, so habe ich ohne Elastic Search ca. 20 Filter Gruppen.

Mit aktivem Elastic Search sind es auch ca. 20 Filtergruppen. Setze ich nun einen Filter und zeige das Ergebnis an, so ist auf einmal kein Filter gesetzt und ich sehe nur noch 10 Filtergruppen.

Hat jemand eine Idee?

Es sieht so aus, als würden nicht alle Filter / Eigenschaften korrekt in ES indexiert worden sein.  
Kann ich das irgendwie prüfen?

&nbsp;

---

<div class="post-metadata">

**Author:** ![derkosta](https://avatars.discourse-cdn.com/v4/letter/d/65b543/32.png) [@derkosta](https://forum.shopware.com/u/derkosta)\
**Post date:** [4. Februar 2016 um 17:40 UTC](https://forum.shopware.com/t/elastic-search-integration/34224/3 "2016-02-04T17:40:15Z")

</div>

Hallo Herr Ott,

ich nutze auch ES bei Motogrip.

Der Index dauert lange beim schreiben auf dem Server. Daher den Indexer etwas Zeit geben! Der läuft schon weiter 😉

Die Eigenschaften von Shopware oder die Attribute Filter?

Ich habe die config so von Shopware übernommen. Mit eckigen Klammern und nochmal außen: Läuft

Mit Curl kann man im ES Index Browsen. Den genauen Aufruf für die propertys weiß ich leider nicht.

![](https://europe1.discourse-cdn.com/flex013/uploads/shopware/original/1X/e06ce9a9b1ee691bddaf55ea7ee54b2ea908b9a4.jpeg)

---

<div class="post-metadata">

**Author:** ![ottscho](https://avatars.discourse-cdn.com/v4/letter/o/7ba0ec/32.png) [@ottscho](https://forum.shopware.com/u/ottscho)\
**Post date:** [5. Februar 2016 um 07:20 UTC](https://forum.shopware.com/t/elastic-search-integration/34224/4 "2016-02-05T07:20:00Z")

</div>

Sind Sie sicher das ES überhaupt läuft 😉

Wenn ich die Einbindung in der config.php Datei mit den Eckigen Klammern mache, so bekomme ich im Frontend keine Meldung. Alles sieht normal aus. Aber das System läuft nicht über ES. Wenn man z.B. den Port abändert und auch noch nicht gecachte Seite geht, kommt keine Fehlermeldung. Obwohl der Port nicht stimmt!

Binde ich es auf dem array() weg ein, so wie auch die anderen Informationen in der Dateie stehen, so bekomme ich bei einem falschen Port sofort eine Fehlermeldung.  
Bitte mal bei Ihnen überprüfen/testen. Evtl. läuft es ja garnicht über ES.

&nbsp;

Mein Eigenschaftenproblem bleibt bestehen. Es sind 18 normale Shopware Standard Eigenschaften Filter und 1 Attributfilter.

Ich müsste irgendwie validieren, dass die Eigenschaften korrekt indexiert wurden.

Mit Elastic HQ habe ich nun ein Tool um mir einige Dinge anzuschauen:

Man sieht ich habe einen Index und wenn ich mir die Mappings anschauen, habe ich folgende:

&nbsp;

Soweit sieht alles in Ordnung aus.

---

<div class="post-metadata">

**Author:** ![derkosta](https://avatars.discourse-cdn.com/v4/letter/d/65b543/32.png) [@derkosta](https://forum.shopware.com/u/derkosta)\
**Post date:** [5. Februar 2016 um 12:02 UTC](https://forum.shopware.com/t/elastic-search-integration/34224/5 "2016-02-05T12:02:29Z")

</div>

Ok, wenn ich die Config mittels Array Klammern einbaue, dann funktioniert ES mit Shopware.

![](https://europe1.discourse-cdn.com/flex013/uploads/shopware/original/2X/0/0e35de0315c5873cead41539a3f3933fa036b1b2.png)

Es treten aber auch Probleme auf. Es werden auch nicht alle Filter in einer Kategorie angezeigt.

Alle Eigenschaften Filter werden nicht in den Kategorien angezeigt. Der Filter als solches verhält sich OK. Es fehlt nur das “Motorradmodell”.

Und ganz komisch:

In der normalen Produktsuche und einigen Kategorien erhalte die Fehlermeldung:

```
Fatal error: Uncaught exception 'RuntimeException' with message 'ShopwarePlugins\SwagFuzzy\Bundle\SearchBundle\KeywordFacet class not supported' in /var/www/clients/client1/web2/web/test/engine/Shopware/Bundle/SearchBundleES/ProductNumberSearch.php:159 Stack trace: #0 /var/www/clients/client1/web2/web/test/engine/Shopware/Bundle/SearchBundleES/ProductNumberSearch.php(140): Shopware\Bundle\SearchBundleES\ProductNumberSearch->getHandler(Object(ShopwarePlugins\SwagFuzzy\Bundle\SearchBundle\KeywordFacet)) #1 /var/www/clients/client1/web2/web/test/engine/Shopware/Bundle/SearchBundleES/ProductNumberSearch.php(119): Shopware\Bundle\SearchBundleES\ProductNumberSearch->addCriteriaParts(Object(Shopware\Bundle\SearchBundle\Criteria), Object(Shopware\Bundle\StoreFrontBundle\Struct\ProductContext), Object(ONGR\ElasticsearchDSL\Search), Array) #2 /var/www/clients/client1/web2/web/test/engine/Shopware/Bundle/SearchBundleES/ProductNumberSearch.php(77): Shopware\Bundle\SearchBundleES\ProductNumberSearch->buildSearch(Object(Shopware\Bundle in /var/www/clients/client1/web2/web/test/engine/Shopware/Bundle/SearchBundleES/ProductNumberSearch.php on line 159
503 Service Unavailable

```

Super wären, wenn sich jemand von Shopware mal einklinken könnte. Auch wenn es offiziell kein Support gibt 😉

---

<div class="post-metadata">

**Author:** ![derkosta](https://avatars.discourse-cdn.com/v4/letter/d/65b543/32.png) [@derkosta](https://forum.shopware.com/u/derkosta)\
**Post date:** [9. Februar 2016 um 10:21 UTC](https://forum.shopware.com/t/elastic-search-integration/34224/6 "2016-02-09T10:21:21Z")

</div>

Kurzer Zwischenstand für ES interessierte:

- Elasticsearch geht nicht mit der Intelligenten Suche von Shopware. Es gibt aber seit 2 Tagen ein Plugin dafür:&nbsp;[http://store.shopware.com/shop720802987463/elastic-search-um-unscharfe-suche-fuzzy-erweitern.html](http://store.shopware.com/shop720802987463/elastic-search-um-unscharfe-suche-fuzzy-erweitern.html)
- ES funktioniert nicht in Kategorien welche das&nbsp;SwagDefaultSort Plugin benutzen
- Die Eigenschaften Filter spinnen immernoch

---

<div class="post-metadata">

**Author:** ![timmeyy](https://avatars.discourse-cdn.com/v4/letter/t/ad7895/32.png) [@timmeyy](https://forum.shopware.com/u/timmeyy)\
**Post date:** [9. Februar 2016 um 10:48 UTC](https://forum.shopware.com/t/elastic-search-integration/34224/7 "2016-02-09T10:48:58Z")

</div>

Danke für euren Input!

Hat man bisher einen Mehrwert davon? Sonst warte ich mit der Einbindung und hoffe darauf das ES ohne Bugs läuft.

VG

---

<div class="post-metadata">

**Author:** ![derkosta](https://avatars.discourse-cdn.com/v4/letter/d/65b543/32.png) [@derkosta](https://forum.shopware.com/u/derkosta)\
**Post date:** [9. Februar 2016 um 10:53 UTC](https://forum.shopware.com/t/elastic-search-integration/34224/8 "2016-02-09T10:53:05Z")

</div>

Weniger Last auf dem Server durch heufige Suchanfragen bei viel Traffic und&nbsp;schnellere Suchergebnisse in AJAX Suche und normale.

Bessere Volltextsuche, definierbar

Zudem ist das Kategorielisting bei großen Kategorien schneller.

Ich bleib dran 😉

---

<div class="post-metadata">

**Author:** ![ottscho](https://avatars.discourse-cdn.com/v4/letter/o/7ba0ec/32.png) [@ottscho](https://forum.shopware.com/u/ottscho)\
**Post date:** [13. Februar 2016 um 09:20 UTC](https://forum.shopware.com/t/elastic-search-integration/34224/9 "2016-02-13T09:20:01Z")

</div>

@shopware

hab ihr noch Tipps bzgl. ES und den Eigenschaften. Warum werden nicht alle Eigenschaften korrekt indexiert bzw verschwinden, wenn man auf ES umstellt?

---

<div class="post-metadata">

**Author:** ![Moritz\_Naczenski](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/moritz_naczenski/32/7792_2.png) [@Moritz\_Naczenski](https://forum.shopware.com/u/Moritz_Naczenski)\
**Post date:** [13. Februar 2016 um 10:31 UTC](https://forum.shopware.com/t/elastic-search-integration/34224/10 "2016-02-13T10:31:17Z")

</div>

Hallo,

das kann ich so nicht nachstellen in meiner lokalen Installation. Welche Shopware-Version und welche ES-Version setzt ihr denn ein?  
In den letzten Versionen gab es ja immer mal wieder Bugfixes. Eine 5.1.2 solltet ihr da schon einsetzen.

&nbsp;

Grüße

Moritz

&nbsp;

---

<div class="post-metadata">

**Author:** ![derkosta](https://avatars.discourse-cdn.com/v4/letter/d/65b543/32.png) [@derkosta](https://forum.shopware.com/u/derkosta)\
**Post date:** [13. Februar 2016 um 12:47 UTC](https://forum.shopware.com/t/elastic-search-integration/34224/11 "2016-02-13T12:47:17Z")

</div>

Moritz ich nutze immer die letzte Shopware Version. Leider klappt das nicht mit ES.

Die Eigenschaften werden zum einen alle lowercase formatiert ausgegeben. Zum anderen fehlt z.b. eine Eigenschaften Gruppe komplett im Listing.

Wenn ES auskommentiert ist. werden alle Eigenschaften korrekt angezeigt.

---

<div class="post-metadata">

**Author:** ![ottscho](https://avatars.discourse-cdn.com/v4/letter/o/7ba0ec/32.png) [@ottscho](https://forum.shopware.com/u/ottscho)\
**Post date:** [13. Februar 2016 um 15:01 UTC](https://forum.shopware.com/t/elastic-search-integration/34224/12 "2016-02-13T15:01:16Z")

</div>

Bei mir ist es gleich.

Shopware ist die Version SW 5.1.2 und ES 2.2.0

---

<div class="post-metadata">

**Author:** ![derkosta](https://avatars.discourse-cdn.com/v4/letter/d/65b543/32.png) [@derkosta](https://forum.shopware.com/u/derkosta)\
**Post date:** [14. Februar 2016 um 20:15 UTC](https://forum.shopware.com/t/elastic-search-integration/34224/13 "2016-02-14T20:15:52Z")

</div>

So, die Eigenschaftenfilter funktionieren jetzt.&nbsp; ![no](https://europe1.discourse-cdn.com/flex013/uploads/shopware/original/1X/7fcda44f782696668a3d093569d15e88105769e1.png "no")

Eigentlich ein simpler Fehler von uns und logisch… Die Tabelle _s\_filter\_values_ muss in die Tabellenkonfiguration mit rein:

![](https://europe1.discourse-cdn.com/flex013/uploads/shopware/original/2X/c/cdfcd493b870c5c84dac676dec0819d5b7d233e1.jpeg)

Relevanz Felder:

 ![](https://europe1.discourse-cdn.com/flex013/uploads/shopware/original/2X/2/23882c90faa157fd4ce44b5b8418ad577b9123b1.jpeg)

Mit den normalen Shopware Eigenschaften lassen sich jetzt die Produkte filtern. Das ottscho Plugin mit Abhängigkeiten hab ich noch deaktiviert.

Die Filter werden auch normale dargestellt und angezeigt. Auch wenn die Reihenfolge der Filter nicht dem Backend entspricht.

---

<div class="post-metadata">

**Author:** ![derkosta](https://avatars.discourse-cdn.com/v4/letter/d/65b543/32.png) [@derkosta](https://forum.shopware.com/u/derkosta)\
**Post date:** [15. Februar 2016 um 00:14 UTC](https://forum.shopware.com/t/elastic-search-integration/34224/14 "2016-02-15T00:14:55Z")

</div>

Ein Fehler bleibt weiterhin bestehen&nbsp; ![yes](http://forum.shopware.com/plugins/CKEditor/plugins/smiley/images/undecided.png "yes")

Bei der direken Sucheingabe erscheint dieser:

```
Fatal error: Uncaught exception 'RuntimeException' with message 'ShopwarePlugins\SwagFuzzy\Bundle\SearchBundle\KeywordFacet class not supported' in /var/www/clients/client1/web2/web/test/engine/Shopware/Bundle/SearchBundleES/ProductNumberSearch.php:159 Stack trace: #0 /var/www/clients/client1/web2/web/test/engine/Shopware/Bundle/SearchBundleES/ProductNumberSearch.php(140): Shopware\Bundle\SearchBundleES\ProductNumberSearch->getHandler(Object(ShopwarePlugins\SwagFuzzy\Bundle\SearchBundle\KeywordFacet)) #1 /var/www/clients/client1/web2/web/test/engine/Shopware/Bundle/SearchBundleES/ProductNumberSearch.php(119): Shopware\Bundle\SearchBundleES\ProductNumberSearch->addCriteriaParts(Object(Shopware\Bundle\SearchBundle\Criteria), Object(Shopware\Bundle\StoreFrontBundle\Struct\ProductContext), Object(ONGR\ElasticsearchDSL\Search), Array) #2 /var/www/clients/client1/web2/web/test/engine/Shopware/Bundle/SearchBundleES/ProductNumberSearch.php(77): Shopware\Bundle\SearchBundleES\ProductNumberSearch->buildSearch(Object(Shopware\Bundle in /var/www/clients/client1/web2/web/test/engine/Shopware/Bundle/SearchBundleES/ProductNumberSearch.php on line 159
503 Service Unavailable

```

KeywordFacet und ProductNumberSearch sagt mir eigentlich dass er was mit der Keyword Tabelle machen will. Ich habe bereits alle Relevanz Felder und Tabellen aus den Einstellungen entfernt. Komme aber nicht weiter.

Jedes mal auch ES populate, backlog sync und shopware cache komplett geleert.

Eventuell kann @[Benjamin Cremer](http://forum.shopware.com/profile/3071/Benjamin%20Cremer)&nbsp;uns weiter helfen, eh wir im Dunkeln rum stochern? Danke

![](https://europe1.discourse-cdn.com/flex013/uploads/shopware/original/2X/6/616ae89baa0e55988f16f34fb1f8d83ece01fd4f.jpeg)

---

<div class="post-metadata">

**Author:** ![Benjamin\_Cremer](https://avatars.discourse-cdn.com/v4/letter/b/a8b319/32.png) [@Benjamin\_Cremer](https://forum.shopware.com/u/Benjamin_Cremer)\
**Post date:** [15. Februar 2016 um 15:11 UTC](https://forum.shopware.com/t/elastic-search-integration/34224/15 "2016-02-15T15:11:01Z")

</div>

Hallo,&nbsp;

SwagFuzzy ist zurzeit noch nicht Elastic Search kompatibel, daher die oben genannte Fehlermeldung.&nbsp;

Bitte beachtet außerdem, dass sich Elastic Search erst ab Datenmengen von etwa 100.000 Produkten lohnt. Darunter wird es wahrscheinlich eher für mehr Probleme sorgen.

Vg,

Benjamin Cremer&nbsp; ![cool](https://europe1.discourse-cdn.com/flex013/uploads/shopware/original/1X/86c57fbace799dd4eb1f1b8a2d3bdc1733f0aea1.png "cool")

&nbsp;

&nbsp;

&nbsp;

&nbsp;

---

<div class="post-metadata">

**Author:** ![matthiasftl](https://avatars.discourse-cdn.com/v4/letter/m/f08c70/32.png) [@matthiasftl](https://forum.shopware.com/u/matthiasftl)\
**Post date:** [11. September 2016 um 11:03 UTC](https://forum.shopware.com/t/elastic-search-integration/34224/16 "2016-09-11T11:03:41Z")

</div>

> [@Benjamin Cremer schrieb:](https://forum.shopware.com/profile/3071/Benjamin%20Cremer "Benjamin%20Cremer")
> 
> dass sich Elastic Search erst ab Datenmengen von etwa 100.000 Produkten lohnt.
> 
> Benjamin Cremer&nbsp; ![cool](http://forum.shopware.com/plugins/CKEditor/plugins/smiley/images/shopware.png "cool")

Was ist genau mit 100.000 Produkten gemeint, inkl. Varianten?

Wir haben derzeit fast 18.000 Artikel bei uns im Shop, alles Varianten Artikel. Insgesamt also über 4,8 Mio Einzelartikel. Sind mit 100.000 Produkten auch die Varianten gemeint?

Als Server haben einen Intel Xeon E5-1650V2 mit 2x SSD 240 GB SATA Datacenter&nbsp; und 64 Gb RAM.

---

<div class="post-metadata">

**Author:** ![matthiasftl](https://avatars.discourse-cdn.com/v4/letter/m/f08c70/32.png) [@matthiasftl](https://forum.shopware.com/u/matthiasftl)\
**Post date:** [1. November 2016 um 09:42 UTC](https://forum.shopware.com/t/elastic-search-integration/34224/17 "2016-11-01T09:42:19Z")

</div>

Soweit haben wir nun auch mal uns an die ES Integration gewagt. Java und Elasticsearch sind auf dem Server installiert. und ein ergibt bei Anfrage:

&nbsp;

> curl -X GET ‚[http://localhost:9200](http://localhost:9200)‘  
> {  
> &nbsp; „name“ : „Kylun“,  
> &nbsp; „cluster\_name“ : „elasticsearch“,  
> &nbsp; „cluster\_uuid“ : „eL7Y7t1iR3iyo-9jhiUpcg“,  
> &nbsp; „version“ : {  
> &nbsp;&nbsp;&nbsp; „number“ : „2.4.1“,  
> &nbsp;&nbsp;&nbsp; „build\_hash“ : „c67dc32e24162035d18d6fe1e952c4cbcbe79d16“,  
> &nbsp;&nbsp;&nbsp; „build\_timestamp“ : „2016-09-27T18:57:55Z“,  
> &nbsp;&nbsp;&nbsp; „build\_snapshot“ : false,  
> &nbsp;&nbsp;&nbsp; „lucene\_version“ : „5.5.2“  
> &nbsp; },  
> &nbsp; „tagline“ : „You Know, for Search“  
> }

Wenn ich jetzt jedoch über&nbsp;php bin/console sw:es:index:populate den Index reinbringen möchte kommt folgende Meldung:

> ## Indexing shop CBT24 - deutsch
> 
> &nbsp; [Elasticsearch\Common\Exceptions\RequestTimeout408Exception]  
> &nbsp; {„cluster\_name“:„elasticsearch“,„status“:„yellow“,„timed\_out“:true,„number\_of\_nodes“:1,„number\_of\_data\_nodes“:1,„active\_primary\_shards“:5,„active\_shards“:5,„relocating\_  
> &nbsp; shards“:0,„initializing\_shards“:0,„unassigned\_shards“:5,„delayed\_unassigned\_shards“:0,„number\_of\_pending\_tasks“:0,„number\_of\_in\_flight\_fetch“:0,„task\_max\_waiting\_in\_que  
> &nbsp; ue\_millis“:0,„active\_shards\_percent\_as\_number“:50.0}
> 
> sw:es:index:populate [–shopId [SHOPID]]

Weiß jemand da einen Rat?
