The basic search allows you to query using typename of an entity, associated classification/tag and has support for filtering on the entity attribute(s) as well as the classification/tag attributes.
The entire query structure can be represented using the following JSON structure (called SearchParameters)
{ "typeName": "hive_column", "excludeDeletedEntities": true, "classification": "PII", "query": "", "offset": 0, "limit": 25, "entityFilters": { }, "tagFilters": { }, "attributes": [ "table", "qualifiedName"] }
Field description
typeName: the type of entity to look for excludeDeletedEntities: should the search exclude deleted entities? (default: true) classification: only include entities with given classification query: any free text occurrence that the entity should have (generic/wildcard queries might be slow) offset: starting offset of the result set (useful for pagination) limit: max number of results to fetch entityFilters: entity attribute filter(s) tagFilters: classification attribute filter(s) attributes: attributes to include in the search result
Attribute based filtering can be done on multiple attributes with AND/OR conditions.
Examples of filtering (for hive_table attributes)
{ "typeName": "hive_table", "excludeDeletedEntities": true, "offset": 0, "limit": 25, "entityFilters": { "attributeName": "name", "operator": "contains", "attributeValue": "customers" }, "attributes": [ "db", "qualifiedName" ] }
{ "typeName": "hive_table", "excludeDeletedEntities": true, "offset": 0, "limit": 25, "entityFilters": { "condition": "OR", "criterion": [ { "attributeName": "name", "operator": "contains", "attributeValue": "customers" }, { "attributeName": "name", "operator": "contains", "attributeValue": "provider" } ] }, "attributes": [ "db", "qualifiedName" ] }
{ "typeName": "hive_table", "excludeDeletedEntities": true, "offset": 0, "limit": 25, "entityFilters": { "condition": "AND", "criterion": [ { "attributeName": "name", "operator": "contains", "attributeValue": "customers" }, { "attributeName": "owner", "operator": "eq", "attributeValue": "hive" } ] }, "attributes": [ "db", "qualifiedName" ] }
Supported operators for filtering
CURL Samples
curl -sivk -g -u <user>:<password> -X POST -d '{ "typeName": "hive_table", "excludeDeletedEntities": true, "classification": "", "query": "", "offset": 0, "limit": 50, "entityFilters": { "condition": "AND", "criterion": [ { "attributeName": "name", "operator": "contains", "attributeValue": "customers" }, { "attributeName": "owner", "operator": "eq", "attributeValue": "hive" } ] }, "attributes": [ "db", "qualifiedName" ] }' <protocol>://<atlas_host>:<atlas_port>/api/atlas/v2/search/basic