No elasticsearch indexes are created

Hi,

Trying to set up a local development environment in eclipse. I was able to set up all server, web front end projects and also installed elasticsearch to connect with setup. But when I log in to the web UI no Dashboard icons coming with the error complaining,

org.elasticsearch.index.IndexNotFoundException: no such index
_ at org.elasticsearch.cluster.metadata.IndexNameExpressionResolver$WildcardExpressionResolver.resolve(IndexNameExpressionResolver.java:581)_

When I debug;
At the startup of server it goes through the OrderModuleInterceptor -> registerInterceptors method but no indexes were created. This can be confirmed with the URL “http://localhost:9200/_cat/indices?v” not giving any indices.
Please I need help on this;
Is there any configuration or setting which I missed or not aware?
Do I need to setup and run “metasfresh-scripts” and / or “metasfresh-reports” projects?

Thanks in advance.

regards,

Priyanga

1 Like

Hi @priyanga220,
i’m not very deep in the matter, but I recommend to take a look at the Dockerfile in metasfresh-docker/search …
Maybe instead of “manually” installing elastic, you might just want to try spinning up this docker image…
Also, maybe the config file metasfresh-docker/search/sources/configs/elasticsearch.yml can give you a hint.

What i did in the past when I needed the dashboard locally (only once so far…) was i took the docker-compose file and just spun up the search component…

I hope that somehow helps…
Tobias

1 Like

Hi @metas-ts, Thanks and really appreciate the feedback. I followed your suggestions and setup the docker image on a remote Centos machine. Then I uncommented following lines in yml file to open the relevant ports

ports:
- "9200:9200"
- "9300:9300"

and commented below as suggested in other post;

  • /etc/timezone:/etc/timezone:ro

I built and ran up only the search project on the docker image and tried to bring the Local dash board by login. Still it gives the same error as I described in the first post. Is there any place (log file etc) where I can check at the start up of server tries to connect to elastic search for indexing?
May be it is something with the IPs as Docker is on a Google Cloud Instance or it binds to any IP in elasticsearch.yml file with below line

network.host: 0.0.0.0 ?

Can someone shed some lights on this matter please? System Setting in AD_SysConfig_ID table is also enabled for elasticsearch.

Thanks and regards,

Priyanga

Hi @priyanga220

You shall just start the metasfresh server.
From eclipse you can do that by running de.metas.ServerBoot_mf15 launcher (or de.metas.ServerBoot_mf15_jrebel if you have jrebel).

On server boot, the elasticsearch index will be created or updated. See:

Alternatively, you can manually force the index creation/update by opening Table and columns window (as System administrator), going to C_Order table and calling the “Elastic search - Index this table” gear action:

Hope it helps,
Teo

1 Like

HI @teosarca, Thanks for the input. I was able to load the dashboard locally with elasticsearch data. What I missed is starting the server with mentioned launch config. I had only started the webui-api cos I thought starting either one of them would create / update indexes. I had configured the elasticsearch server with docker image remotely.
I will try with a local elastic-search server configured manually and provide the result.
Again thanks all for providing the valuable support and information. Hope to have your guidance in the future too. :wink: