You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@atlas.apache.org by Bertrand Jamet <be...@soyhuce.fr> on 2018/10/12 12:52:12 UTC

Fwd: Search API, basic and Advance

Hello

I am designing atlas types to save some business metadata I would link to
the DataSet (through attribute or relationship) , but I found that the
search capabilities of Atlas doesn't allow to search on these attributes
when I search on the DataSet type.

So I have several questions about the basic search and the advance search :

1. The fulltext search seams to filter the result only on the attributes
values of the retrieved entities, only for the simple types attributes, but
not on the composite type attributes.
I am right about this analyze ? Is this something that could evolve in the
future ?

2. Concerning the attribute filters, only the simple type attributes are
available to filter. For the composite types, could it be possible to
select the guid, or the qualifiedName of the entity to filter the results ?

3. still concerning the basic search, We can select a classification or a
term ... why is it not possible to select several classification or term ?
I saw that the json structure of the API doesn't allow to pass several
terms or classifications, but under the hood, should it be possible ? And
does the search api could evolve to support that (and also filter on the
attributes of the classifications)

4. concerning DSL , is there a better documentation that this one :
http://atlas.apache.org/Search-Advanced.html ?
Can we filter on the Classification attributes ?
Is the fulltext search possible with DSL ?

5 on the attributes filters :

Process where outputs.name= "sales_fact_daily_mv"

return the LoadProcess "loadSalesDaily" . But I can't make a working query
to get the Table "sales_fact_daily_mv" from "loadSalesDaily" :
Table where outputFromProcesses.name = "loadSalesDaily"
returns nothing ...
I suspect this because of the RelationshipDef process_dataset_outputs :
 "endDef1": {
        "type": "Process",
        "name": "outputs",
        "isContainer": true,
        "cardinality": "SET",
        "isLegacyAttribute": true
    },
    "endDef2": {
        "type": "DataSet",
        "name": "outputFromProcesses",
        "isContainer": false,
        "cardinality": "SET",
        "isLegacyAttribute": false
    },

Where isContainer is true for the Process end, but not for the DataSet end
....

So the big question with this example is : How does the modeling of the
types -- attributes and relationships -- impact the DSL search capabilities
?

6. Does DSL supports subquery ?


by the way, thank you for your work on Atlas, I am only starting to
evaluate it, but I find it very interesting and well evolved.

Bertrand JAMET