diff options
Diffstat (limited to 'proto/icing/proto/search.proto')
-rw-r--r-- | proto/icing/proto/search.proto | 26 |
1 files changed, 24 insertions, 2 deletions
diff --git a/proto/icing/proto/search.proto b/proto/icing/proto/search.proto index fca669a..7f4fb3e 100644 --- a/proto/icing/proto/search.proto +++ b/proto/icing/proto/search.proto @@ -27,7 +27,7 @@ option java_multiple_files = true; option objc_class_prefix = "ICNG"; // Client-supplied specifications on what documents to retrieve. -// Next tag: 10 +// Next tag: 11 message SearchSpecProto { // REQUIRED: The "raw" query string that users may type. For example, "cat" // will search for documents with the term cat in it. @@ -102,11 +102,21 @@ message SearchSpecProto { // Finer-grained locks are implemented around code paths that write changes to // Icing during Search. optional bool use_read_only_search = 9 [default = true]; + + // TODO(b/294266822): Handle multiple property filter lists for same schema + // type. + // How to specify a subset of properties to be searched. If no type property + // filter has been specified for a schema type (no TypePropertyMask for the + // given schema type), then *all* properties of that schema type will be + // searched. If an empty property filter is specified for a given schema type + // (TypePropertyMask for the given schema type has empty paths field), no + // properties of that schema type will be searched. + repeated TypePropertyMask type_property_filters = 10; } // Client-supplied specifications on what to include/how to format the search // results. -// Next tag: 9 +// Next tag: 10 message ResultSpecProto { // The results will be returned in pages, and num_per_page specifies the // number of documents in one page. @@ -211,6 +221,18 @@ message ResultSpecProto { // The max # of child documents will be attached and returned in the result // for each parent. It is only used for join API. optional int32 max_joined_children_per_parent_to_return = 8; + + // The max # of results being scored and ranked. + // Running time of ScoringProcessor and Ranker is O(num_to_score) according to + // results of //icing/scoring:score-and-rank_benchmark. Note that + // the process includes scoring, building a heap, and popping results from the + // heap. + // + // 30000 results can be scored and ranked within 3 ms on a Pixel 3 XL + // according to results of + // //icing/scoring:score-and-rank_benchmark, so set it as the + // default value. + optional int32 num_to_score = 9 [default = 30000]; } // The representation of a single match within a DocumentProto property. |