Elastic Search
Set up Elastic search
To start set up you will need
- Kibana server - This is an additional server that you will need to have for the search index (ask Linserv for help with this).
- App odoo_elasticsearch needs to be activated in your database (ask Linserv for help with this).
- Connection set up in odoo to kibana server (ask Linserv for help with this).
Set up
1. Create your indexes
By default you will have an index already created (this is automatically created when the app is installed). Do not remove this index.
You can set up multiple indexes in the app, one for each website and language.
In the field Model Name you can select if the search index should be for product.template (products) or product.product (variants).
In the Model Field tab you will have some default fields already set up. Do not remove them. You can add more fields and with the boolean you can decide which should be searchable. If you do not want the default fields to be searchable, just untick the box, do not remove them.
In the Filter Detail tab you will have some default fields already set up. Do not remove them. You can add more if you want to. Here is where you set up which products should be included in the index (the ones that are active, published etc).
2. Create mapping
After you have finished your index you need to create the mapping of the products.
In each index you will see the button ”create mapping”. Click on it.
You will then see the button ”create/update index”. Click on it.
When done you will see the records created for the products in each index.
3. Add indexes to configuration
When you are done with your indexes you need to add them to your configuration.
4. Make sure the Elastic is selected in your website settings
Activate developer mode and go to Website - Configuration - Websites.
Select a default elastic server. You can also enable trending. If you have multiple websites, make sure to do this on all of them.
Important information you as a customer need to be aware of
- You will have to decide what you want to be searchable and what the search should look like. You have a lot of options to choose from. Before setting it up in prod, try it in test to make sure you know exactly what you want to be included in the indexes.
- Make sure you do not remove the fields that are automatically created in the index when installing the app. If you don’t want them searchable, just untick the box (do not remove them).
- The index needs to be regularly updated. If you add a new product to your webshop, it will not be automatically added to your elastic search index. So you as customer will need to regularly go into the elastic search app and update the index (click on the ”update/create index” button).
Using Elastic Keywords
Elastic Keywords can be used to add specific search terms you want to use for specific products/variants, without having to add the terms to your product descriptions.
The keyword will not be visible in website, only searchable.
You can add keywords to any variant.
You can group by and filter on your Elastic Keywords in product variants list.
You can also batch edit keywords on multiple variants at once. Select your variants and then go to Actions - Edit Elastic Keywords.
From this wizard, you can either add or remove keywords to the variants you have selected.
In the Elastic app, under configuration, you can see all your keywords and add translations to them.
Don’t forget to add the Elastic Keyword field to your elastic index.
Here is a short video that shows you how to use Elastic Keywords:
Elastic Reporting
In the Elastic Search app, you have a menu item called Reporting. Here you will see a list of all searches made with elastic on your website.
You will see the search word/term, when the search was made (date & time) and if your elastic index generated any hits for this search word/term.
You can use this report and filter or group by “Generate hits” to see which terms generated hits and which did not.
It is good practice to keep track of any recurring search words that did not generate any hits. You can use these terms and add them to your Elastic Keywords on suitable products to make sure you will get hits on these terms next time. This will give the customer a better shopping experience on your website.