Community Articles

Find and share helpful community-sourced technical articles.
Celebrating as our community reaches 100,000 members! Thank you!
Labels (1)
Expert Contributor

Recently Atlas was enhanced to allow a UI friendly way of searching for entities present in atlas. The improvement has been introduced in two parts, one being the REST API ( /api/atlas/v2/search/basic ) and the other one is a rework of the search UI itself which adds a popup dialog for specifying the attributes of the type or the tag or both.

Atlas Search details:

Search REST API:

Here are some screenshots of the search experience.

1. Landing Page


2. Type-attribute based search



Notice how the drop down changes when a different type is selected.

3. Tag-attribute based searches


Each attribute type (string, boolean, int, float, date etc.) has a certain set of operators that can be used on the attributes. These details can be found at the link present in the previous paragraph.

Once the search results are displayed, there's an option to dynamically retrieve more data (more columns in UI) about the searched entities. Here's what the selection drop-down would look like (look at the drop-down on the extreme right of the screenshot)


Few things to note,

1. The total number of the results is unavailable at the moment as the underlying data store for Atlas doesn't provide that information (efficiently). So the user can only look at 25 results at a time but has the ability to navigate back and forth through pages.

2. User can search for entities by any combination of the three search facets (entity/type, tag and query-text)

3. Query text can be any text that the user is looking for within an entity and it can also consume Lucene style queries (if that's preferred)

4. For sake of simplicity and usability, only ACTIVE entities are listed by default. There's an option to include the deleted entities as well (checkbox called "include historical entities")

5. The search response time is heavily dependent on the specifics of the query i.e. a vague free-text like test* will take longer than something like test_table_123*