Modul Suche Webshop (ES)

Technischer Name / Technical name: eq_website_search

Lizenz: AGPL-3 


Links:
Equitania Fork: https://gitlab.ownerp.io/v10-myodoo/v10-website/tree/develop/eq_website_search


Beschreibung

Die Suchfunktion der Website wird durch die neue ElasticSearch-Suche komplett ersetzt.

Wenn die Suche korrekt konfiguriert ist, werden die zu suchenden Daten wie für die statischen Seiten, die Blogeinträge und die Produkte jede Nacht automatisch per CronJob aktualisiert.
In dieser Dokumentation erklären wir Ihnen aber wie Sie den Prozess manuell starten können, um z.B. die ersten Suchergebnisse sofort angezeigt zu bekommen oder direkt nach größeren Umbauten der Website die Suchergebnisse per Hand zu aktualisieren.

Wie die Suche aussieht, ist hier im Anwender-Wiki zu der Suche zu finden:
https://equitania.atlassian.net/wiki/x/R4AmC


Description: 
The search function of the website is completely replaced by the new ElasticSearch search function.

If the search is configured correctly, the data to be searched for, such as static pages, blog entries and products, is automatically updated every night via CronJob.
In this documentation, however, we will explain how you can start the process manually, e. g. to get the first search results immediately displayed or to update the search results by hand directly after a major rebuild of the website.

You can find out what the search looks like here in the user wiki:
https://equitania.atlassian.net/wiki/x/R4AmC

Installation

Folgende Module müssen im System installiert sein / The following modules must be installed in the system:

  1. eq_website_search - erweitert die Suchfunktion im Webshop /  extends the search function in the webshop
  2. eq_web_search - Basismodul mit der Funktionalität für ElasticSearch / Basic module with the functionality for ElasticSearch
  3. eq_web_search_ecommerce - ElasticSearch & Erweiterung der Funktionalität für Webshop / ElasticSearch & extension of the functionality for webshop

Vorbereitung und erster Import von Daten / Preparation and initial import of data

Um Daten in den Suchergebnissen der Website zu erhalten, müssen Sie zuvor folgende Schritte erledigen / To retrieve data from the site's search results, you must first complete the following steps::

  1. Stellen Sie Sicher dass min. 1 Produkt auf dem Status Veröffentlicht gesetzt ist, nicht-veröffentlichte Produkte werden in die Suche nicht aufgenommen! / Make sure that at least 1 product is set to Published status, unpublished products will not be included in the search!
  2. Gehen Sie in die Einstellungen unter Einstellungen > Allgemeine Einstellungen > Elastic Search.
    In der Maske finden Sie unter Allgemein den Punkt Indexname ecommerce, tragen Sie hier bitte einen neuen Indexnamen ein, z.B. webshopdata
    Speichern Sie die
    Einstellung.

    Go to Settings > Settings > General Settings > Elastic Search.
    In the mask under General you will find the point Indexname ecommerce, please enter a new index name here, e. g. webshopdata
    Save the setting.


    Die IP in der Elastic Search URL bitte nicht ändern. Für die lokalen Tests & Entwicklungsumgebung bitte localhost:9200 verwenden wie im Screenshot verwenden. / Please do not change the IP in the Elastic Search URL. For the local tests & development environment please use localhost: 9200 as shown in the screenshot.


  3. Nun muss die Datenbank mit den freigegebenen Produkten befüllt werden. Dies passiert mit dem Chronjob normalerweise jede Stunde automatisch. Damit Sie aber auf den Cronjob jetzt nicht warten müssen, führen wir dies manuell aus:
    Aktivieren Sie den Entwicklermodus.
    Öffnen Sie nun die Maske für die Geplanten Aktionen unter Einstellungen > Technisch > Automation > Geplante Aktionen.

    Now the database has to be filled with the released products. This usually happens automatically every hour with the chronjob. However, so that you do not have to wait for the cronjob now, we do this manually:
    Activate the developer mode.
    Now open the mask for the Scheduled Actions under Settings > Technical > Automation > Scheduled Actions



  4. Öffnen Sie den Cronjob für Elastic Search ecommerce product.template / Open the cronjob for Elastic Search ecommerce product.template



    Nun starten wir den Cronjob mit Manuell ausführen. Wenn Sie viele (veröffentlichte) Produkte haben, müssen Sie etwas Geduld haben bis die Daten alle aufbereitet sind.
    Now we start the cronjob with Execute manually. If you have many (published) products, you have to be patient until the data are all prepared.





    Nun sind Ihre Produkte in der Suche enthalten.
    Für Ihre statischen Webseiten müssen Sie den Cronjob in den "Geplanten Aktionen" von Schritt 4 mit dem Namen Elastic Search ecommerce pages manuell starten.
    Die Blogeinträge aktualisieren Sie mit Elastic Search ecommerce blog.post


    Your products are now included in the search.
    For your static web pages, you must manually start the cronjob in the "Scheduled Actions" of step 4 called Elastic Search ecommerce pages.
    Update the blog entries with Elastic Search ecommerce blog.post

  5. Fertig. Ihr Produkt sollte nun über die Suche auf der Website auffindbar sein.
    Ready. Your product should now be searchable on the website.



Daten aus der Suchtabelle löschen / Deleting data from the search table

Der Cronjob wird bei den Updates der Sucheinträge auch alte Suchergebnisse löschen, auch jene die nichtmehr auf 'veröffentlicht' stehen.
Wenn Sie aus irgend einem Grund dennoch die Suchergebnisse sofort entfernen möchten, können Sie dies unter Einstellungen > Allgemein Einstellungen > Elastic Search unter dem Punkt Aktionen ecommerce mit dem Button Alle Elastic Search Daten löschen - ecommerce tun.
Bedenken Sie bitte dass die Ausgabe der Suche auf der Website nun leer ist. Bis der Cronjob wieder automatisch durchgelaufen ist oder sie den Cronjob manuell gestartet haben, wie oben erläutert.

The cronjob will also delete old search results when updating the search entries, even those that are no longer' published'.
If you still want to remove the search results immediately for any reason, you can do this under Settings > General Settings > Elastic Search under the item Actions ecommerce with the button Delete all Elastic Search Data - ecommerce.
Please note that the search results on the website are now blank. Until the cronjob has run automatically again or you have started the cronjob manually, as explained above.

Installation: 
Installieren Sie unter Apps die App: eq_website_search


Installation: 
Install the app under Apps: eq_website_search


Abhängigkeiten/Dependencies:

Abhängigkeit zu Modul / Dependency on moduleBeschreibung / Description
base_setupBasisfunktionalität des Odoo Systems. Basic functionality of the Odoo system. 
website_saleErweiterung der Hauptfunktion def shop() um unsere neue Suche mit der Unterstützung für ElasticSearch. Extension of the main function def shop() to include our new search with support for ElasticSearch.
eq_web_search_ecommerce

Damit man alle Daten zur Verfügung hat, müssen sie mit diesem Modul zuerst in ElasticSearch-DB exportiert werden. In order to have all data available, they must first be exported to ElasticSearch-DB with this module.