302 lines
6.3 KiB
Markdown
302 lines
6.3 KiB
Markdown
---
|
|
layout: default
|
|
title: Search model group
|
|
parent: Model group APIs
|
|
grand_parent: ML Commons APIs
|
|
nav_order: 30
|
|
---
|
|
|
|
# Search for a model group
|
|
|
|
When you search for a model group, only those model groups to which you have access will be returned. For example, for a match all query, model groups that will be returned are:
|
|
|
|
- All public model groups in the index
|
|
- Private model groups for which you are the owner
|
|
- Model groups that share at least one of the `backend_roles` with you
|
|
|
|
For more information, see [Model access control]({{site.url}}{{site.baseurl}}/ml-commons-plugin/model-access-control/).
|
|
|
|
## Path and HTTP method
|
|
|
|
```json
|
|
POST /_plugins/_ml/model_groups/_search
|
|
GET /_plugins/_ml/model_groups/_search
|
|
```
|
|
|
|
#### Example request: Match all
|
|
|
|
The following request is sent by `user1` who has the `IT` and `HR` roles:
|
|
|
|
```json
|
|
POST /_plugins/_ml/model_groups/_search
|
|
{
|
|
"query": {
|
|
"match_all": {}
|
|
},
|
|
"size": 1000
|
|
}
|
|
```
|
|
{% include copy-curl.html %}
|
|
|
|
#### Example response
|
|
|
|
```json
|
|
{
|
|
"took": 31,
|
|
"timed_out": false,
|
|
"_shards": {
|
|
"total": 1,
|
|
"successful": 1,
|
|
"skipped": 0,
|
|
"failed": 0
|
|
},
|
|
"hits": {
|
|
"total": {
|
|
"value": 7,
|
|
"relation": "eq"
|
|
},
|
|
"max_score": 1,
|
|
"hits": [
|
|
{
|
|
"_index": ".plugins-ml-model-group",
|
|
"_id": "TRqZfYgBD7s2oEFdvrQj",
|
|
"_version": 1,
|
|
"_seq_no": 2,
|
|
"_primary_term": 1,
|
|
"_score": 1,
|
|
"_source": {
|
|
"backend_roles": [
|
|
"HR",
|
|
"IT"
|
|
],
|
|
"owner": {
|
|
"backend_roles": [
|
|
"HR",
|
|
"IT"
|
|
],
|
|
"custom_attribute_names": [],
|
|
"roles": [
|
|
"ml_full_access",
|
|
"own_index",
|
|
"test_ml"
|
|
],
|
|
"name": "user1",
|
|
"user_requested_tenant": "__user__"
|
|
},
|
|
"created_time": 1685734407714,
|
|
"access": "restricted",
|
|
"latest_version": 0,
|
|
"last_updated_time": 1685734407714,
|
|
"name": "model_group_test",
|
|
"description": "This is an example description"
|
|
}
|
|
},
|
|
{
|
|
"_index": ".plugins-ml-model-group",
|
|
"_id": "URqZfYgBD7s2oEFdyLTm",
|
|
"_version": 1,
|
|
"_seq_no": 3,
|
|
"_primary_term": 1,
|
|
"_score": 1,
|
|
"_source": {
|
|
"backend_roles": [
|
|
"IT"
|
|
],
|
|
"owner": {
|
|
"backend_roles": [
|
|
"HR",
|
|
"IT"
|
|
],
|
|
"custom_attribute_names": [],
|
|
"roles": [
|
|
"ml_full_access",
|
|
"own_index",
|
|
"test_ml"
|
|
],
|
|
"name": "user1",
|
|
"user_requested_tenant": "__user__"
|
|
},
|
|
"created_time": 1685734410470,
|
|
"access": "restricted",
|
|
"latest_version": 0,
|
|
"last_updated_time": 1685734410470,
|
|
"name": "model_group_test",
|
|
"description": "This is an example description"
|
|
}
|
|
},
|
|
...
|
|
]
|
|
}
|
|
}
|
|
```
|
|
|
|
#### Example request: Search for model groups with an owner name
|
|
|
|
The following request to search for model groups of `user` is sent by `user2` who has the `IT` backend role:
|
|
|
|
```json
|
|
GET /_plugins/_ml/model_groups/_search
|
|
{
|
|
"query": {
|
|
"bool": {
|
|
"must": [
|
|
{
|
|
"nested": {
|
|
"query": {
|
|
"term": {
|
|
"owner.name.keyword": {
|
|
"value": "user1",
|
|
"boost": 1
|
|
}
|
|
}
|
|
},
|
|
"path": "owner",
|
|
"ignore_unmapped": false,
|
|
"score_mode": "none",
|
|
"boost": 1
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
```
|
|
{% include copy-curl.html %}
|
|
|
|
#### Example response
|
|
|
|
```json
|
|
{
|
|
"took": 6,
|
|
"timed_out": false,
|
|
"_shards": {
|
|
"total": 1,
|
|
"successful": 1,
|
|
"skipped": 0,
|
|
"failed": 0
|
|
},
|
|
"hits": {
|
|
"total": {
|
|
"value": 4,
|
|
"relation": "eq"
|
|
},
|
|
"max_score": 0,
|
|
"hits": [
|
|
{
|
|
"_index": ".plugins-ml-model-group",
|
|
"_id": "TRqZfYgBD7s2oEFdvrQj",
|
|
"_version": 1,
|
|
"_seq_no": 2,
|
|
"_primary_term": 1,
|
|
"_score": 0,
|
|
"_source": {
|
|
"backend_roles": [
|
|
"HR",
|
|
"IT"
|
|
],
|
|
"owner": {
|
|
"backend_roles": [
|
|
"HR",
|
|
"IT"
|
|
],
|
|
"custom_attribute_names": [],
|
|
"roles": [
|
|
"ml_full_access",
|
|
"own_index",
|
|
"test_ml"
|
|
],
|
|
"name": "user1",
|
|
"user_requested_tenant": "__user__"
|
|
},
|
|
"created_time": 1685734407714,
|
|
"access": "restricted",
|
|
"latest_version": 0,
|
|
"last_updated_time": 1685734407714,
|
|
"name": "model_group_test",
|
|
"description": "This is an example description"
|
|
}
|
|
},
|
|
...
|
|
]
|
|
}
|
|
}
|
|
```
|
|
|
|
#### Example request: Search for model groups with a model group ID
|
|
|
|
```json
|
|
GET /_plugins/_ml/model_groups/_search
|
|
{
|
|
"query": {
|
|
"bool": {
|
|
"must": [
|
|
{
|
|
"terms": {
|
|
"_id": [
|
|
"HyPNK4gBwNxGowI0AtDk"
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
```
|
|
{% include copy-curl.html %}
|
|
|
|
#### Example response
|
|
|
|
```json
|
|
{
|
|
"took": 2,
|
|
"timed_out": false,
|
|
"_shards": {
|
|
"total": 1,
|
|
"successful": 1,
|
|
"skipped": 0,
|
|
"failed": 0
|
|
},
|
|
"hits": {
|
|
"total": {
|
|
"value": 1,
|
|
"relation": "eq"
|
|
},
|
|
"max_score": 1,
|
|
"hits": [
|
|
{
|
|
"_index": ".plugins-ml-model-group",
|
|
"_id": "HyPNK4gBwNxGowI0AtDk",
|
|
"_version": 3,
|
|
"_seq_no": 16,
|
|
"_primary_term": 5,
|
|
"_score": 1,
|
|
"_source": {
|
|
"backend_roles": [
|
|
"IT"
|
|
],
|
|
"owner": {
|
|
"backend_roles": [
|
|
"",
|
|
"HR",
|
|
"IT"
|
|
],
|
|
"custom_attribute_names": [],
|
|
"roles": [
|
|
"ml_full_access",
|
|
"own_index",
|
|
"test-ml"
|
|
],
|
|
"name": "user1",
|
|
"user_requested_tenant": null
|
|
},
|
|
"created_time": 1684362035938,
|
|
"latest_version": 2,
|
|
"last_updated_time": 1684362571300,
|
|
"name": "model_group_test",
|
|
"description": "This is an example description"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
``` |