Product release

Elastic Enterprise Search Beta 3 is here: More personal, more secure, more relevant

Editor’s Note — January 27, 2020: The Elastic Enterprise Search product has been renamed to Elastic Workplace Search. Our suite of search products — App Search, Site Search, and Workplace Search — are now a part of our broader Elastic Enterprise Search solution.

Elastic Enterprise Search is back with a third iteration, building on the vision of unifying all the content your team creates and consumes across multiple cloud and on-prem collaboration tools. Backed by the proven relevance and speed of Elasticsearch, Elastic Enterprise Search Beta 3 brings new features that elevate content discovery through search, securely and at scale. From Google Drive to now Zendesk and Github Enterprise, your team can get to the information they need with uninterrupted focus.

Elastic Enterprise Search Beta 2 focused on making data indexing as flexible as possible. Beta 3 expands on the promise of robust ingestion through automatic content extraction, document-level permission support, and support for two major enterprise collaboration platforms.


Content search: From meta to data

Elastic Enterprise Search now automatically extracts and indexes the content of all the files it encounters across all connector-based sources. Whether the information you need lives on the fifth slide of a Powerpoint presentation stored on Dropbox or on page 78 of the sales proposal you worked on last week in Google Docs, Elastic Enterprise Search surfaces the right document so you can get back to work swiftly. All major file types are supported out of the box, with no configuration required.

Document content extraction in Elastic Enterprise Search


Securely personal with document permissions

While your organization may believe in the unassailable virtues of transparency and open communication, it is safe to assume that a large portion of the content created internally will not be available to everyone on the team. This may be true of a document accessible by a single individual, a subset of team members, or entire departments, with varying levels of authorization. Ensuring that document-level permissions are properly stored and honored in the context of a unified search experience is critical for both privacy and relevance. 

Custom API permissions in Elastic Enterprise Search

Elastic Enterprise Search Beta 3 adds document-level permissions support to the already extensible Custom API Sources. By returning results on a user-by-user basis, Elastic Enterprise Search provides a simple interface to create secure and personal search experiences, making sure that information is only surfaced to the right individuals at the right time. In other words, if a user does not have access to a particular document on the content source itself, it will not be returned as a result.

With Custom API Sources, the implementation is simple. First, we must define permission rules along with a document at index time. This is done using the _allow_permissions and _deny_permissions fields:

{
  "_allow_permissions": ["123","456"],
  "_deny_permissions": ["789"],
  "id" : "uaasd86yasd7as621377adh78213",
  "title" : "Sales Proposal for Acme Inc",
  "document_url" : "https://acme.intranet.com/uaasd86yasd7as621377adh78213/sales-proposal.pdf",
  "updated_at" : 2019-09-12T07:12:32+00:00,
  "created_at": 2019-06-01T12:00:00+00:00,
  "type": "file"
}

In the example above, users with permissions 123 and 456 are granted access to the document, while permission 789 is explicitly denied. With this approach, complex structures of access can be defined, modeled, and updated over time. Since every query issued from the Elastic Enterprise Search experience is associated with a user, only authorized users will see this result returned as part of their search experience.

Permissions can be mapped to users on the platform using the newly exposed Permissions API endpoint:

POST /api/v1/ent/sources/[CONTENT_SOURCE_KEY]/permissions/johnny_appleseed/add
{
  "user": "johnny_appleseed",
  "permissions": [
    "123",
    "126"
  ]
}

Permissions can be mapped as groups or as individual values on a user-by-user basis. The Elastic Enterprise Search documentation on this topic is a great place to get started once you are ready to model your permission and authorization attributes.


Connecting more dots

Search experiences are only as good as the information they contain. Connectivity is a key pillar of data unification: the more sources and platforms synced in a single, centralized location, the better the experience. Alongside carefully crafted end-user search interfaces, Elastic Enterprise Search puts an ever-growing portfolio of first-party connectors at your disposal to easily ingest and synchronize data from a variety of tools, no matter where information and documents live across the various departments of your organization. From cloud sources like Salesforce and Dropbox to on-premises platforms like Atlassian JIRA, teams across your company have access to the latest, most fresh data as they exist on the platforms themselves. 

With Beta 3, Elastic Enterprise Search adds support for two additional widely adopted platforms: Zendesk and GitHub Enterprise. With a few clicks, members of your support organization can now access customer interactions as they are logged in Zendesk alongside account information from Salesforce, or consult potentially relevant bugs as filed on Atlassian JIRA. Is a support agent looking for the right procedure to escalate a specific case? They can easily get to it thanks to the Atlassian Confluence integration. Meanwhile, engineers on the team can chase down similar bugs as discussed on GitHub Enterprise.

Connect more sources with Elastic Enterprise Search

Ensuring that everyone in your organization has access to a complete experience yields higher engagement and shapes collaboration in new and improved ways. As Elastic’s portfolio of connectors grows, your team will benefit from additional visibility, helping you and your team reduce the time spent looking for information and spend more time taking action on the answers surfaced.


Download, deploy, and search

Elastic Enterprise Search requires the following:

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

  1. Download Elasticsearch 7.4.x and enter the directory.
  2. Edit config/elasticsearch.yml and add:
    xpack.security.enabled: true
    
  3. Run the binary and start Elasticsearch:
    $ bin/elasticsearch
    
  4. Generate a random password for the Elastic user:
    $ bin/elasticsearch-setup-passwords auto
    

The second part is done within Enterprise Search:

  1. Download Enterprise Search beta3 and enter the directory
  2. Edit config/enterprise-search.yml and add:
    ent_search.auth.source: standard
    elasticsearch.username: elastic
    elasticsearch.password: [ELASTIC_USER_PASSWORD]
    allow_es_settings_modification: true
    
  3. Start Enterprise Search:
    $ bin/enterprise-search
    
  4. Retrieve the default login credentials from the console’s output.

And that’s it! Visit http://localhost:3002 and login to Enterprise Search with the default credentials.


We’d love your beta feedback

We’ll need your help to make Elastic Enterprise Search the best product it can be. If you run into any bugs, or have any comments or questions, please reach us at: [email protected].