Hi, we ran into the "inconsistent scoring" issue
in our production environment. While the fix was pretty simple (change search_type to dfs_query_then_fetch), I currently don't have a way of verifying it since production AWS is the only place that uses more than one ES node.Is there a way to run Elasticsearch locally with more than one node?
You could try the following approach:
docker/sdk stop
deploy.dev.yml
# search: # engine: elastic # version: '7.10' # endpoints: # localhost:9200: # protocol: tcp
image: … environment: … SPRYKER_SEARCH_HOST: host.docker.internal SPRYKER_SEARCH_PORT: 9200
host.docker.internal
in the case of using Docker Desktop
deploy.local.yml
created based on deploy.dev.yml
. The former is in .gitignore
Starting a multi-node cluster with Docker Compose
of the documentation
docker/sdk boot deploy.dev.yml
(or deploy.local.yml
)You could try the following approach:
docker/sdk stop
deploy.dev.yml
# search: # engine: elastic # version: '7.10' # endpoints: # localhost:9200: # protocol: tcp
image: … environment: … SPRYKER_SEARCH_HOST: host.docker.internal SPRYKER_SEARCH_PORT: 9200
host.docker.internal
in the case of using Docker Desktop
deploy.local.yml
created based on deploy.dev.yml
. The former is in .gitignore
Starting a multi-node cluster with Docker Compose
of the documentation
docker/sdk boot deploy.dev.yml
(or deploy.local.yml
)The above solution works nicely 👍️
If anyone else is not using Docker Desktop and gets fixated on the "host.docker.internal" part like I did:
you can just use "es01" (the name of the first Elasticsearch node)