---+ Basic Search 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) <verbatim> { "typeName": "hive_column", "excludeDeletedEntities": true, "classification": "PII", "query": "", "offset": 0, "limit": 25, "entityFilters": { }, "tagFilters": { }, "attributes": [ "table", "qualifiedName"] } </verbatim> __Field description__ <verbatim> 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 </verbatim> <img src="images/twiki/search-basic-hive_column-PII.png" height="400" width="600"/> Attribute based filtering can be done on multiple attributes with AND/OR conditions. __Examples of filtering (for hive_table attributes)__ * Single attribute <verbatim> { "typeName": "hive_table", "excludeDeletedEntities": true, "offset": 0, "limit": 25, "entityFilters": { "attributeName": "name", "operator": "contains", "attributeValue": "customers" }, "attributes": [ "db", "qualifiedName" ] } </verbatim> <img src="images/twiki/search-basic-hive_table-customers.png" height="400" width="600"/> * Multi-attribute with OR <verbatim> { "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" ] } </verbatim> <img src="images/twiki/search-basic-hive_table-customers-or-provider.png" height="400" width="600"/> * Multi-attribute with AND <verbatim> { "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" ] } </verbatim> <img src="images/twiki/search-basic-hive_table-customers-owner_is_hive.png" height="400" width="600"/> __Supported operators for filtering__ * LT (symbols: <, lt) works with Numeric, Date attributes * GT (symbols: >, gt) works with Numeric, Date attributes * LTE (symbols: <=, lte) works with Numeric, Date attributes * GTE (symbols: >=, gte) works with Numeric, Date attributes * EQ (symbols: eq, =) works with Numeric, Date, String attributes * NEQ (symbols: neq, !=) works with Numeric, Date, String attributes * LIKE (symbols: like, LIKE) works with String attributes * STARTS_WITH (symbols: startsWith, STARTSWITH) works with String attributes * ENDS_WITH (symbols: endsWith, ENDSWITH) works with String attributes * CONTAINS (symbols: contains, CONTAINS) works with String attributes __CURL Samples__ <verbatim> 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 </verbatim>