Talk Analytics API, gRPC: TalkService.Search
rpc for searching talks. will return ids only
gRPC request
rpc Search (SearchTalkRequest) returns (SearchTalkResponse)
SearchTalkRequest
{
"organizationId": "string",
"spaceId": "string",
"connectionId": "string",
"projectId": "string",
"filters": [
{
"key": "string",
// Includes only one of the fields `anyMatch`, `intRange`, `doubleRange`, `dateRange`, `durationRange`, `booleanMatch`
"anyMatch": {
"values": [
"string"
]
},
"intRange": {
"fromValue": "google.protobuf.Int64Value",
"toValue": "google.protobuf.Int64Value",
"boundsInclusive": {
"fromInclusive": "bool",
"toInclusive": "bool"
}
},
"doubleRange": {
"fromValue": "google.protobuf.DoubleValue",
"toValue": "google.protobuf.DoubleValue",
"boundsInclusive": {
"fromInclusive": "bool",
"toInclusive": "bool"
}
},
"dateRange": {
"fromValue": "google.protobuf.Timestamp",
"toValue": "google.protobuf.Timestamp",
"boundsInclusive": {
"fromInclusive": "bool",
"toInclusive": "bool"
}
},
"durationRange": {
"fromValue": "google.protobuf.Duration",
"toValue": "google.protobuf.Duration",
"boundsInclusive": {
"fromInclusive": "bool",
"toInclusive": "bool"
}
},
"booleanMatch": {
"value": "bool"
},
// end of the list of possible fields
"inverse": "bool",
"channelNumber": "google.protobuf.Int64Value"
}
],
"query": {
"text": "string",
"inverse": "bool",
"channelNumber": "google.protobuf.Int64Value"
},
"pageSize": "int64",
"pageToken": "string",
"sortData": {
"fields": [
{
"field": "string",
"order": "SortOrder",
"position": "int64"
}
]
}
}
Field |
Description |
organizationId |
string id of organization |
spaceId |
string id of space |
connectionId |
string id of connection |
projectId |
string id of project |
filters[] |
metadata keys filters (user and system) |
query |
Full-text search query |
pageSize |
int64 page size, from 1 to 1000, default 100 |
pageToken |
string next page token, if page is not first |
sortData |
talks sorting options |
Filter
Field |
Description |
key |
string metadata key (user.some_key / system.created_at / analysis.speechkit.duration) |
anyMatch |
find talk matched by any text filters Includes only one of the fields |
intRange |
find talks with value from int range Includes only one of the fields |
doubleRange |
find talks with value from double range Includes only one of the fields |
dateRange |
find talks with value from date range Includes only one of the fields |
durationRange |
find talks with value from duration range Includes only one of the fields |
booleanMatch |
find talks with value equals boolean Includes only one of the fields |
inverse |
bool |
channelNumber |
channel number to apply filter for, starting with 0. applies to all channels if not specified |
AnyMatchFilter
Field |
Description |
values[] |
string values list to match with "OR" operator |
IntRangeFilter
Field |
Description |
fromValue |
|
toValue |
|
boundsInclusive |
BoundsInclusive
indicates whether to include range boundaries
Field |
Description |
fromInclusive |
bool include from bound |
toInclusive |
bool include to bound |
DoubleRangeFilter
Field |
Description |
fromValue |
|
toValue |
|
boundsInclusive |
DateRangeFilter
Field |
Description |
fromValue |
|
toValue |
|
boundsInclusive |
DurationRangeFilter
Field |
Description |
fromValue |
|
toValue |
|
boundsInclusive |
BooleanFilter
Field |
Description |
value |
bool |
Query
Field |
Description |
text |
string |
inverse |
bool should or should NOT match |
channelNumber |
id of channel to search ("1", "2", ..., any channel if not set) |
SortData
Field |
Description |
fields[] |
SortField
Field |
Description |
field |
string sorting key |
order |
enum SortOrder sorting order by current
|
position |
int64 number of field in comparing order (sort by key1 (position = 0), then key2 (position = 1), then key3...) |
SearchTalkResponse
{
"talkIds": [
"string"
],
"talksCount": "int64",
"nextPageToken": "string"
}
Field |
Description |
talkIds[] |
string page results entries |
talksCount |
int64 total documents matched |
nextPageToken |
string page token for next request |