The LucidWorks Platform has two main components that can each be run together on a single server or deployed on separate servers if desired. While LucidWorks Cloud users will not often need to interact with these components, an understanding of how they work is helpful for a deeper understanding of the system as a whole:
The LucidWorks Enterprise (LWE) Core component is the main engine of the application. It contains the search index, the index definitions, the query parser, the embedded Solr application and Lucene libraries, as well as serves the REST API (with the exception of Alerts).
The UI component includes all web-based graphical interfaces for administering the application, a sample search interface, and the enterprise alerts feature. Through the Admin UI, you can modify index fields, configure data sources for content collection, define aspects of the search experience, and monitor system performance. The Search UI provides a front-end for users to submit queries to LucidWorks Enterprise and review results. It includes search features such as automatic completion of queries, spell checking, faceting, and sorting. It is not intended as a production-grade user interface, rather as a sample interface to use while configuring and testing the system. Enterprise Alerts provide a way for users of the front-end Search UI to save searches and receive notifications when new results match their query terms. There is a user interface piece with forms and screens for users to configure and review their alerts, as well as a REST API for programmatic access to the Alerts features.
This guide will refer to example URLs that will reference the default installation URLs for each component. These defaults are:
These URLs are used by the installer for two purposes:
- When the various components communicate with each other, or link to one another, they specify which URL will be used.
- If the "Enable" check box is selected for a component when using the installer, then that component will be run locally, using the port specified in the URL.
If LWE Core and LWE UI are run on the same machine, they must be defined with different ports. They can also be configured to run on different servers.
There are three possible ways to configure the components:
- Both components run on the same machine and they are started and stopped together. This is the default for the installer, which automatically prompts for default ports that are different for each component. To use this mode, you only need to run the installer once and follow through the process completely.
- Both components run on the same machine but they are started and stopped separately. This would require running the installer two times on the same machine. See Running Components on Different Servers or Different Ports of the Same Server below for detailed instructions on how to do this.
- Each component is on a different machine and started and stopped separately. This requires running the installer on each machine. See Running Components on Different Servers or Different Ports of the Same Server below for detailed instructions on how to do this.
To run components on different ports of the same server, you must run the installer twice, putting each installation in a different installation path (that is, a distinct "LWE Home"). If running the components on different servers entirely, the default installation path could be used on both servers because they are different machines.
For example, consider a use case where we want to:
- Run the LWE Core component on the machine 'server1' on port 8888
- Run the LWE UI component on the machine 'server2' port 8989
In this scenario, we need two installations, and our installation steps would be something like the following:
- First Installation, LWE Core on 'server1'
- Launch the installer and follow the steps until the component selection screen.
- Change the default URL for LWE Core to http://server1:8888.
- Deselect the "Enable" checkbox for the LWE UI component so it will not be installed on server1.
- Change the URL for the LWE UI to http://server2:8989. Even though it will not be run as part of this installation, this URL will be used in the LWE Core configuration to be able to talk to LWE UI.
- Advance to the Next screen, and select a path for this installation.
- Finish the installation.
- Second Installation, LWE UI on 'server2'
- Launch the installer again, and advance to the component selection screen.
- Deselect the "Enable" check boxes for the LWE Core component so it will not be installed on server2 but change the URL to http://server1:8888 so LWE UI configuration can talk to LWE Core.
- Change the URL for LWE UI to http://server2:8989.
- Advance to the Next screen, and select a path for this installation on server2. If you were instead installing the LWE UI on the same machine, you would enter a different installation path.
- Finish the installation.
- Starting and stopping server processes will need to occur in both installations; there is no single start/stop script that will work across multiple installations.
- The $LWE_HOME/conf/master.conf files in both installations will continue to refer to components that were not installed. You must take care not to enable a component in the wrong installation.
- The Click Scoring Relevance Framework runs as part of the LWE Core, and requires that click-<collectionName>.log (generated by the Search User Interface) be available in the $LWE_HOME/data/logs/ directory. If LWE Core and LWE UI components are enabled in different installations, an external process must be responsible for copying that file into the $LWE_HOME/data/logs directory of the LWE Core installation.