Installing Workplace Search

edit

Installing Workplace Search

edit

Elastic Workplace Search is packaged with App Search as a single solution named Elastic Enterprise Search. Deploy Elastic Enterprise Search on Elastic Cloud or run the solution on-premises.

Get started now with a free Elastic Cloud trial:

Or, run self-managed deployments on your own infrastructure:

Deploying on Elastic Cloud

edit

Deploy Enterprise Search on Elastic Cloud with the following steps. For more details, see the relevant Elastic Cloud documentation.


Step 1. Log in to Elastic Cloud. If you’re using Elastic Cloud for the first time, create an account. New accounts include a free trial.


Step 2. Within Elastic Cloud, navigate to Create deployment to create your Enterprise Search deployment. If you’re using a new account, your free trial starts you on this screen automatically.

Choose Elastic Enterprise Search.

Optionally, change the values of other fields, such as cloud provider and geographic region.

Click Create deployment to deploy Enterprise Search.


Step 3. While waiting for the deployment to start, download or copy the elastic user password shown on the screen. You don’t need these credentials now, but they are shown only once. Record them securely.

When available, choose Open Enterprise Search, which redirects you to the Enterprise Search home screen.

From the home screen, choose Launch Workplace Search.


You’re ready to use Elastic Workplace Search! Continue with Getting started.

Elastic Cloud documentation

edit

For more information about Enterprise Search on Elastic Cloud, refer to the following Elastic Cloud documentation:

Resetting the Enterprise Search password

edit

If you lose the password for the elastic user, you’ll need to reset it through the Elastic Cloud console. Navigate to the specific deployment within Elastic Cloud, and then click Manage and Reset password to get to the Security screen. From there, click Reset password to complete the process.

Running on ECE (Elastic Cloud Enterprise)

edit

You can deploy {ece-ref}/Elastic-Cloud-Enterprise-overview.html[ECE^] on public or private clouds, virtual machines, or your own premises. ECE has supported Enterprise Search since version 2.6.

Learn how to {ece-ref}/ece-enable-enterprise-search.html[enable {ents}^] on ECE.

Running on ECK (Elastic Cloud Kubernetes)

edit

Orchestrate Enterprise Search on Kubernetes using Elastic Cloud on Kubernetes (ECK), which supports Enterprise Search since ECK 1.2.

See Run Enterprise Search on ECK in the ECK documentation.

Running using Linux/MacOS packages

edit

Elastic distributes Linux and MacOS packages for installing Elasticsearch and Enterprise Search within your development environment or on production hardware you’ve provisioned.

First, satisfy all dependencies:

  • 64-bit Linux or MacOS (10.13+).
  • Java 8 or Java 11.
  • 6GB of available RAM (4GB if running Elasticsearch on a separate machine).
  • 5GB of available storage.

Next, you’ll need to get Elasticsearch up and running with security features:


Step 1. Download Elasticsearch 7.10.2 and navigate to the newly unpacked directory.


Step 2. Locate the config/elasticsearch.yml configuration file and edit the following setting to enable Elasticsearch’s Security features:

xpack.security.enabled: true
xpack.security.authc.api_key.enabled: true

Step 3. Start Elasticsearch:

$ bin/elasticsearch

Step 4. Open a new terminal window, and navigate to the Elasticsearch directory. From here, we must generate a random password for the elastic user, which will be used by Enterprise Search to securely communicate with the underlying Elasticsearch cluster:

$ bin/elasticsearch-setup-passwords auto

Locate the password for the elastic user as output in the console and keep it handy: we will need it in a few moments.

You may also manually generate passwords using the elasticsearch-setup-passwords command.


We must now configure Enterprise Search:

Step 5. Download Enterprise Search 7.10.2 and navigate to the newly unpacked directory.


Step 6. Locate the config/enterprise-search.yml file and edit the following settings using the recently generated password:

ent_search.auth.default.source: standard
elasticsearch.username: elastic
elasticsearch.password: [ELASTIC_USER_PASSWORD]

Step 7. Add the following configuration to the config/enterprise-search.yml file. It allows Enterprise Search to create to appropriate indices for the target Elasticsearch cluster:

allow_es_settings_modification: true

allow_es_settings_modification: true can be used safely if the cluster is used for Enterprise Search only. An alternative option is to set auto_create_index at the cluster level. See Elasticsearch cluster settings for more information.


Step 8. You must also set at least one encryption key in the same config/enterprise-search.yml configuration file (256-bit key recommended), as an array:

secret_management.encryption_keys: [{encryption_key1}, {encryption_key2}, {...}]

See Configuring encryption keys in the Enterprise Search documentation for more information.


Step 9. Run the boot command and provide a default user password to start Enterprise Search. For those using Workplace Search, the default password will also be used to log in to the Workplace Search administrative experience:

$ ENT_SEARCH_DEFAULT_PASSWORD=passwordexample bin/enterprise-search

Should you choose not to provide a default password, a random passphrase will be generated for you on the first boot sequence, and will be output in the console


Step 10. Head to http://localhost:3002. You will be presented with a one-time deployment status report. If the Elasticsearch cluster is not already running with a Platinum license applied, a trial license is automatically applied for you and will be valid for 30 days.

With the enterprise_search user in hand and the password provided at boot time, proceed to the next step to log in.


You’re ready to use Elastic Workplace Search! Continue with Getting started.

Elasticsearch cluster settings

edit

Enterprise Search makes alterations to the auto_create_index persistent and transient settings within Elasticsearch when using allow_es_settings_modification: true. Avoid making changes to those settings as it may result in unintended consequences.

An alternative approach involves setting the auto_create_index configuration in elasticsearch.yml for the target Elasticsearch cluster:

action.auto_create_index: ".ent-search-*-logs-*,-.ent-search-*,-test-.ent-search-*,+*"

Using this alternative approach allows you to maintain all Elasticsearch-specific settings at the cluster level.

Resetting the Enterprise Search password

edit

Run the binary with an attached --reset-auth command:

  • Standard Auth: Resets login and generates new random password.
  • elasticsearch-native and elasticsearch-saml: Removes the current role mappings. All users are granted the owner role.

Running using Docker images

edit

Elastic distributes Docker images for Enterprise Search for running the solution within your development environment or on production hardware you’ve provisioned.

For help using these images, see Running Enterprise Search using Docker in the Enterprise Search documentation.