Get desktop application:
View/edit binary Protocol Buffers messages
Used in:
Used in:
Used in:
Note these are all guaranteed to be ConjunctionQuerys. SearchQuery is sent instead as it makes it much easier to write recursive handling code in the performer.
All guaranteed to be DisjunctionQuerys.
All guaranteed to be DisjunctionQuerys.
Used in:
Used in:
Used in:
Used in:
Used in:
Used in:
Used in:
Used in:
Used in:
There is no `optional repeated`, so if this field is empty, regard it as not provided. E.g. we cannot test providing sending an empty list of fields into the SDK.
Used in:
Used in: , ,
Used in:
(message has no fields)
Used in:
(message has no fields)
Used in:
Used in:
Used in:
Used in:
Used in:
Used in:
Used in:
Used in:
Used in:
Used in:
Executing a `cluster.searchQuery()` FTS query. The performer can return either: 1. An protocol.sdk.Result.exception, if the `cluster/scope.searchQuery()` call immediately fails. 2. A BlockingSearchResult, iff that's the most natural representation. For example, the Java SDK's blocking API would return this. The performer should not select this just because it's easier to implement than the stream! Most SDK APIs have streaming responses and should instead use: 3. A stream. This consists of streaming back: 3.1 A streams.Created, with type STREAM_FULL_TEXT_SEARCH. 3.2 Zero+ StreamingSearchResults, which contain the FTS rows, facets and metadata. 3.3 A streams.Complete. And as usual the performer should handle requests for more items, stream cancellation requests, and look at stream_config for details of how to stream. See streams.top_level.proto for details. If any error occurs on the stream (as opposed to from the initial cluster.search() call) as usual return a streams.Error.
Used in: ,
Controls how SearchRow.fields should be converted. Only applied if a BlockingSearchResult is being returned. If not present, the performer should not do result.fieldsAs().
Not sent on to the SDK - instead specifies how the performer should handle any streaming. Can be ignored if the performer is choosing to return a BlockingSearchResult rather than a stream.
Used in:
Used in:
Used in: ,
Used in:
Used in:
Used in: ,
Used in:
Used in: ,
There is no `optional repeated`, so if this field is empty, regard it as not provided.
There is no `optional repeated`, so if this field is empty, regard it as not provided.
There is no `optional map`, so if this field is empty, regard it as not provided.
Used in: , , , , ,
Cannot be named boolean_field as it causes issues in generated code for at least Java
At least one of these will usually be specified. If both are not specified, the SDK should simulate the user not providing either - e.g. providing null or similar for both.
Used in:
Used in: ,
The result of calling result.locations.getAll(). If result.locations is missing, return nothing here.
Used in:
Used in:
Used in:
Used in:
possible values are "auto", "string", "number", "date"
possible values are "default", "min", "max"
possible values are "first", "last"
Used in:
Used in:
Used in:
Note that "V2" naming should not be used anywhere in the SDK itself for this feature. It's purely to workaround having an existing "Search" wrapper message in the GRPC.
Used in:
Executing either a `cluster.search()` or `scope.search()` FTS query. This is the new API, replacing `cluster.searchQuery()`, that also supports vector search. The performer can return one of these 3: 1. An protocol.sdk.Result.exception, if the `cluster/scope.search()` call immediately fails. 2. A BlockingSearchResult, but only if that's genuinely the most natural representation. For example, the Java SDK's blocking API would return this. The performer should not select this just because it's easier to implement than the stream! Supporting streams allows more sophisticated FIT tests to be performed. Most SDK APIs have streaming responses and should instead use: 3. A stream. This consists of streaming back: 3.1 A streams.Created, with type STREAM_FULL_TEXT_SEARCH. 3.2 Zero+ StreamingSearchResults, which contain the FTS rows, facets and metadata. 3.3 A streams.Complete. And as usual the performer should handle requests for more items, stream cancellation requests, and look at stream_config for details of how to stream. See streams.top_level.proto for details. If any error occurs on the stream (as opposed to from the initial cluster/scope.search() call) as usual return a streams.Error. Note the same types are used as for `cluster/scope.searchQuery()`, reflecting the API.
Used in: ,
Represents the SDK search.
Specifies how the performer should convert SearchRow.fields. If not present, the performer should not do result.fieldsAs().
Specifies how the performer should handle any streaming. Can be ignored if the performer is returning a BlockingSearchResult rather than a stream.
Used in:
Not part of the SDK response - identifies what stream this is from.
Driver expects to see 0+ of these of stream.
Driver expects to see 0 or 1 of these, after all rows.
Driver expects to see exactly 1 of these, after all rows and facets. (Unless the stream errors.)
Used in:
Used in:
Used in:
Used in:
Used in:
Used in:
Used in:
Used in:
Used in: