Search Query
API's basic search query specifications which implements search over regex, etc.
query: query includes following options items below for conditional select
NO | KEY | TYPE | REQUIRED | DESC |
1 | filter | list | ❌ | filter out within operator |
2 | filter_or | list | ❌ | filter out within operator |
3 | page | dict | ❌ | set number of selected list to express pages or other reasons |
4 | sort | dict | ❌ | sorting a list with given keys |
5 | minimal | boolean | ❌ | display every item in search or minimize its results |
6 | count_only | boolean | ❌ | display only number of items in the list |
7 | only | list | ❌ | display only given items in the list |
8 | keyword | string | ❌ | global search any string |
FILTER:
filter performs within AND condition
<filter> and <filter> and <filter> ...
👉
FILTER_OR:
filter_or performs within OR condition
<filter> or <filter> or <filter> ...
👉
SKELETON
Filter
Filter_or
Page
Sort
Minimal
Count_only
Only
Keyword
Sample
{
"query": {
"filter": [],
"filter_or": [],
"page": {},
"sort": {},
"minimal": false,
"count_only": false,
"only": []
}
}
{
"query": {
"filter": [
{
"key": "name",
"value": [
"stark",
"nick"
],
"operator": "in"
}
]
}
}
NOTE:
filter and filter_or input simultaneously, it performs condition between them.
👉
AND
👈
NO | KEY | TYPE | REQUIRED | DESC |
1 | key | string | ✅ | any key that to filter out |
2 | value | list or any | ❌ | |
3 | operator | string | ✅ | refer to operator below |
{
"query": {
"filter_or": [
{
"key": "name",
"value": ["stark", "admin"],
"operator": "in"
},
{
"key": "user_id",
"value": ["ua-abcdefg"],
"operator": "not_in"
}
]
}
}
NOTE:
filter and filter_or input simultaneously, it performs condition between them.
👉
AND
👈
KEY | TYPE | REQUIRED | DESC |
key | string | ✅ | any key that to filter out |
value | list or any | ❌ | |
operator | string | ✅ | refer to operator below |
{
"query": {
"page": {
"start": 1,
"limit": 3
}
}
}
KEY | TYPE | REQUIRED | DESC |
start | integer | ❌ | start number |
limit | integer | ❌ | number of limit on selected |
{
"query": {
"sort": {
"key": "name",
"desc": true
}
}
}
KEY | TYPE | REQUIRED | DESC |
key | string | ✅ | string sorting priority |
desc | boolean | ❌ | ascending or descending order Y/N |
{
"query": {
"minimal": false
}
}
Key | TYPE | Required | description |
minimal | boolean | ❌ | displays only minimized summary of list |
{
"query": {
"count_only": false
}
}
KEY | TYPE | REQUIRED | DESC |
count_only | boolean | ❌ | displays only counts on search list |
{
"query": {
"only": [
"name",
"tags"
]
}
}
KEY | TYPE | REQUIRED | DESC |
only | list | ❌ | column keys that user wants to expect on the results |
{
"query": {
"keyword": "any_string"
}
}
{
"query": {
"filter": [
{
"key": "name",
"value": [
"stark",
"nick"
],
"operator": "in"
}
],
"filter_or": [
{
"key": "name",
"value": [
"stark",
"admin"
],
"operator": "in"
},
{
"key": "user_id",
"value": [
"ua-abcdefg"
],
"operator": "not_in"
}
],
"page": {
"start": 1,
"limit": 3
},
"sort": {
"key": "name",
"desc": true
},
"minimal": false,
"count_only": false,
"only": [
"name",
"tag"
]
}
}
Last modified 3yr ago