First Time Execution

1. Install Software

First ensure all the Prerequisites are meet. Then you can download the Enterprise Search from Download & Execute

2. Configure the Server

Change the DOMAIN_NAME and SERVER_PORT variables as required, then change the Elasticsearch properties to meet your instance.

By default the server will always prefer the port set as the environment variable over the one in the config, if the environment variable is not set, the fallback is the one in the config.

config/server/env/all.js
const DOMAIN_NAME = 'localhost'
const SERVER_PORT = process.env.PORT || 3000

module.exports = {
    domain: DOMAIN_NAME,
    app: {
        title: 'Enterprise Search',
        description: 'Enterprise Search',
        keywords: 'Enterprise Search, Independent'
    },
    port: SERVER_PORT,
    .
    .
    .
    elastic: {
        schema: 'http',
        host: 'localhost',
        port: 9200,
        indexName: 'esui'
    }
}

The server configuration is multi environment. So in the folder config/server/env you will find the following files: all.js, local.jsdevelopment.js and production.js. Each file will contain the configuration for that specific environment. 

3. Run the NodeJS Server

To start the server just execute in the console 

npm run start

The server by default will start in development mode, using the development environment configuration. To start the server in other modes (local, development or production) you must set the NODE_ENV environment variable, depending on the console, like this:

  • Powershell: $env:NODE_ENV="local"
  • CMD: set NODE_ENV="local"
  • Shell: export NODE_ENV="local"

The same applies for the port:

  • Powershell: $env:PORT=8080
  • CMD: set PORT=8080
  • Shell: export PORT=8080

The server will have the API for the endpoint as well as the user interface


Enterprise Search will start loading its components, you can start using it as soon as you see a message in the console similar to this one (can be slightly different):

**************************************************************************************
  _____       _                       _          ____                      _
 | ____|_ __ | |_ ___ _ __ _ __  _ __(_)___  ___/ ___|  ___  __ _ _ __ ___| |__
 |  _| | '_ \| __/ _ \ '__| '_ \| '__| / __|/ _ \___ \ / _ \/ _` | '__/ __| '_ \
 | |___| | | | ||  __/ |  | |_) | |  | \__ \  __/___) |  __/ (_| | | | (__| | | |
 |_____|_| |_|\__\___|_|  | .__/|_|  |_|___/\___|____/ \___|\__,_|_|  \___|_| |_|
                          |_|

 Mode: development
 PID: 3024
 Protocol: http
 Port: 3000
 Authentication: none
 NodeJS: 14.15.1

**************************************************************************************

Be sure Elasticsearch is already running when attempting to start Enterprise Search


Development Execution

Starting the Angular Live Development Server

When customizing the user interface code, it may be an overwork to be building the UI and restating the server every time a change has being made, for this there is an alternative. By executing the command below, a UI will startup in a development server separated from the server of Enterprise Search, this server will automatically compile the UI to see each change immediately

npm run start:ui

The this development server for the UI will proxy the request to your Enterprise Search server, the configuration for this proxy can be found in ui/proxy.conf.json


In case your Enterprise server is using a secure configuration, you can start the development server for the UI also with secure configuration with the command below.

npm run start:ui:secure

As well the configuration for the proxy can be located in this file ui/proxy.conf.secure.json


By default proxy calls are redirecting to localhost:3000, if either the domain or the port are changed, you must manually change the proxy call in its corresponding configuration


After either of the command is executed, you will see in the console the compiling process, the UI will be ready when you see in the console output ": Compiled successfully."

Date: 2020-12-11T18:29:54.182Z - Hash: 7399db7d5ed25f709e6b - Time: 21317ms
** Angular Live Development Server is listening on localhost:4200, open your browser on https://localhost:4200/ **
: Compiled successfully.

Accessing the User Interface 

As seen in the output above the Angular Live Development Server will return the url in which the UI can be access, by default https://localhost:4200/. Go to your browser and access the url, the user interface displayed should be exactly the same the server will have once it is build.

The interface has a listing process which detects any compilation change and refresh your browser to see the new changes, without the need of manually building the interface over and over again.

The manual build will be always required for the server to have access to the latest changes. If you see the changes in the Angular Live Development Server but not in the Enterprise Search, you need to do the manual build

  • No labels