Where do I start and how do I proceed?

Hi, I’ve
been reading documentation and trying stuff for about 2 days now. I’m very
intrigued about elastic search and how it works. For my company I have to
implement elastic search for our product seeker.

I’m in the
following situation:

We’re a
webshop, we have about 500.000 products that need to be searchable and we’re
trying to implement Elastic Search to do this for us. I figured out some basics
but I am not quite sure how to do some things. The website is completely
written in PHP and MySQL, I am planning on using the Elastic Search PHP
library.

I want to
use facetted search, but since every product group, even product has different
aspects that I want to highlight (and seeing as we have over 100s of product
groups) how do I dynamically create a facetted search?

For
example: A television has aspects like INCH and Resolution whilst a motherboard
might be from a certain socket and have X amount of USB ports of 2.0 or 3.0 etc
etc.

What would
be the smartest thing regarding the sync with the MySQL database? Should we
setup a cronjob to run a specific script to update the indexed documents or
should we set up a specific mysql link?

How do I go
about making the structure for the products. Each product consists of several
properties (like brand, price, series, type, available, stock, name etc) but
also has some specifications (like RAM OR GHz, Inches, GB’s etc) it also has a
group. I am used to the MySQL Relational database and in the days I’ve been
fiddling around with Elastic Search I found out I should let that go.

Could I just create a JSON that has multi dimensional layers for each property
like

“name”: “name”,
“specifications”: {
“cpu”: “etc”
}

And leave out the things that aren’t required?

How many
nodes should be required to set this up so that it works fast and reliable enough.

I’m sorry
if this is a bit much, it’s just so completely different from the system that
we currently use that it is difficult to make a good start. I would like to
know what the real professionals
think about it.

I'd suggest that if you are really looking to go down this path that you look into attending some Elasticsearch training, it will help quiet a bit with all of this :smile:
That aside I can help with a few things.

There is this from Logstash that will help.

Try a few and see what works for you but have a single document structure that is as normalised as possible, ie it's the same for TVs as for fridges. Then just fill fields for each as applicable.

We recommend no less than 3 nodes for a production cluster but this will depend on your requirements and resources.