search mobile facets autocomplete spellcheck crawler rankings weights synonyms analytics engage api customize documentation install setup technology content domains user history info home business cart chart contact email activate analyticsalt analytics autocomplete cart contact content crawling custom documentation domains email engage faceted history info install mobile person querybuilder search setup spellcheck synonyms weights engage_search_term engage_related_content engage_next_results engage_personalized_results engage_recent_results success add arrow-down arrow-left arrow-right arrow-up caret-down caret-left caret-right caret-up check close content conversions-small conversions details edit grid help small-info error live magento minus move photo pin plus preview refresh search settings small-home stat subtract text trash unpin wordpress x alert case_deflection advanced-permissions keyword-detection predictive-ai sso

Self-Managed App Search, Configuration

Configuration

The core configuration options can be found in config/app_search.yml.

You can adjust host addresses, ports, Elasticsearch credentials, the logging level, and more.

The config/env.sh file presents environment variables which can be altered as you see fit.

Mailer

Configure a mailer within App Search to send user invitations and password resets.

Mailer, Local Mail Service Example

email.account:
  enabled: true
  smtp:
    auth: plain # Can be plain, login, or CRAM-MD5.
    starttls.enable: false # Whether emails are sent encapsulated in TLS, or not.
    host: 127.0.0.1
    port: 25
    user: mail@example.com
    password: secure-pass-phrase
  email_defaults:
    from: noreply@example.com # The 'from' address is the address from which emails are sent.
    url_host: http://localhost:3002 # The url_host parameter is the domain used within generated emails, like password resets and invitations. Defaults to localhost.

Mailer, Gmail Example

email.account:
  enabled: true
  smtp:
    auth: plain
    starttls.enable: true
    host: smtp.gmail.com
    port: 587
    user: example@gmail.com
    password: secure-pass-phrase
  email_defaults:
    from: noreply@gmail.com
    url_host: https://example.com

Mailer, Outlook Example

email.account:
  enabled: true
  smtp:
    auth: login
    starttls.enable: true
    host: smtp-mail.outlook.com
    port: 587
    user: example@outlook.com
    password: secure-pass-phrase
  email_defaults:
    from: noreply@outlook.com
    url_host: https://example.com

Advanced Usage

Running Components Separately

The following run modes are not supported during the beta. But you might experiment...

If scale requires it, you can run App Search components separately.

There are two components that comprise an App Search deployment:

  • An Application/API server that provides the web UI and API.
  • A background worker that processes asynchronous requests like indexing, queries, and so on.

List all components:

bin/app-search --help

Run a single component:

bin/app-search COMPONENT_NAME

If you want to run the application server component - along with a Filebeat instance for collecting its logs:

bin/app-search app

Or, start a background worker pool:

bin/app-search worker

Single-Process Mode

An advanced mode is available for users that need to control and separately deploy specific processes:

bin/app-search --process PROCESS_NAME

WARNING: This mode is for operators with a deep understanding of internals and deployment procedures.


Thanks for trying out Self-Managed App Search. Please send us your beta feedback!