aboutsummaryrefslogtreecommitdiff
path: root/proto
diff options
context:
space:
mode:
authorTerry Wang <tytytyww@google.com>2023-05-12 13:21:11 +0000
committerAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>2023-05-12 13:21:11 +0000
commite2f1e3866172c6847411531031ba6fa181bd0392 (patch)
tree2dae21557b18fdf2668dd0b7690cf6ea6f1d4627 /proto
parent2630ef32c060062d3aaee3336bdf1001e55918c2 (diff)
parentc82a8ba55b1c6b5a57d76c55ebd0b6ba5f41e694 (diff)
downloadicing-e2f1e3866172c6847411531031ba6fa181bd0392.tar.gz
Merge remote-tracking branch 'goog/androidx-platform-dev' into udc-dev am: 50b5988361 am: c82a8ba55b
Original change: https://googleplex-android-review.googlesource.com/c/platform/external/icing/+/23183335 Change-Id: I1a3f2b5a5dbbda36be94c217bde41d367aa2ca56 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
Diffstat (limited to 'proto')
-rw-r--r--proto/icing/proto/initialize.proto16
-rw-r--r--proto/icing/proto/logging.proto18
-rw-r--r--proto/icing/proto/schema.proto8
-rw-r--r--proto/icing/proto/search.proto11
4 files changed, 43 insertions, 10 deletions
diff --git a/proto/icing/proto/initialize.proto b/proto/icing/proto/initialize.proto
index db5dbed..18884c6 100644
--- a/proto/icing/proto/initialize.proto
+++ b/proto/icing/proto/initialize.proto
@@ -23,7 +23,7 @@ option java_package = "com.google.android.icing.proto";
option java_multiple_files = true;
option objc_class_prefix = "ICNG";
-// Next tag: 8
+// Next tag: 9
message IcingSearchEngineOptions {
// Directory to persist files for Icing. Required.
// If Icing was previously initialized with this directory, it will reload
@@ -82,6 +82,20 @@ message IcingSearchEngineOptions {
// Optional.
optional int32 compression_level = 7 [default = 3];
+ // OPTIONAL: Whether to allow circular references between schema types for
+ // the schema definition.
+ //
+ // Even when set to true, circular references are still not allowed in the
+ // following cases:
+ // 1. All edges of a cycle have index_nested_properties=true
+ // 2. One of the types in the cycle has a joinable property, or depends on
+ // a type with a joinable property.
+ // This is because such a cycle would lead to an infinite number of
+ // indexed/joinable properties:
+ //
+ // The default value is false.
+ optional bool allow_circular_schema_definitions = 8;
+
reserved 2;
}
diff --git a/proto/icing/proto/logging.proto b/proto/icing/proto/logging.proto
index 04f655d..ca795cd 100644
--- a/proto/icing/proto/logging.proto
+++ b/proto/icing/proto/logging.proto
@@ -49,6 +49,9 @@ message InitializeStatsProto {
// The document log is using legacy format.
LEGACY_DOCUMENT_LOG_FORMAT = 5;
+
+ // The current code version is different from existing data version.
+ VERSION_CHANGED = 6;
}
// Possible recovery causes for document store:
@@ -114,7 +117,7 @@ message InitializeStatsProto {
}
// Stats of the top-level function IcingSearchEngine::Put().
-// Next tag: 7
+// Next tag: 10
message PutDocumentStatsProto {
// Overall time used for the function call.
optional int32 latency_ms = 1;
@@ -122,8 +125,7 @@ message PutDocumentStatsProto {
// Time used to store the document.
optional int32 document_store_latency_ms = 2;
- // Time used to index the document. It does not include the time to merge
- // indices.
+ // Time used to index the document.
optional int32 index_latency_ms = 3;
// Time used to merge the indices.
@@ -139,6 +141,16 @@ message PutDocumentStatsProto {
reserved 2;
}
optional TokenizationStats tokenization_stats = 6;
+
+ // Time used to index all indexable string terms in the document. It does not
+ // include the time to merge indices.
+ optional int32 term_index_latency_ms = 7;
+
+ // Time used to index all indexable integers in the document.
+ optional int32 integer_index_latency_ms = 8;
+
+ // Time used to index all qualified id join strings in the document.
+ optional int32 qualified_id_join_index_latency_ms = 9;
}
// Stats of the top-level function IcingSearchEngine::Search() and
diff --git a/proto/icing/proto/schema.proto b/proto/icing/proto/schema.proto
index dc625fc..b972ece 100644
--- a/proto/icing/proto/schema.proto
+++ b/proto/icing/proto/schema.proto
@@ -60,11 +60,11 @@ message SchemaTypeConfigProto {
// it will default to value == 0.
optional int32 version = 5;
- // An experimental field to make the type as a subtype of parent_type, which
- // enables parent_type to be interpreted as its subtypes in the context of the
- // Search APIs, including schema type filters and projections specified in
+ // An experimental field to make the type as a subtype of parent_types, which
+ // enables parent_types to be interpreted as its subtypes in the context of
+ // the Search APIs, including schema type filters and projections specified in
// TypePropertyMask.
- optional string parent_type = 6;
+ repeated string parent_types = 6;
reserved 2, 3;
}
diff --git a/proto/icing/proto/search.proto b/proto/icing/proto/search.proto
index 8bdbf0c..e5ad269 100644
--- a/proto/icing/proto/search.proto
+++ b/proto/icing/proto/search.proto
@@ -98,7 +98,7 @@ message SearchSpecProto {
// Client-supplied specifications on what to include/how to format the search
// results.
-// Next tag: 8
+// Next tag: 9
message ResultSpecProto {
// The results will be returned in pages, and num_per_page specifies the
// number of documents in one page.
@@ -199,6 +199,10 @@ message ResultSpecProto {
NAMESPACE_AND_SCHEMA_TYPE = 3;
}
optional ResultGroupingType result_group_type = 7;
+
+ // 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 representation of a single match within a DocumentProto property.
@@ -499,7 +503,10 @@ message JoinSpecProto {
optional string child_property_expression = 3;
// The max number of child documents to join to a parent document.
- optional int32 max_joined_child_count = 4;
+ // DEPRECATED: use ResultSpecProto.max_joined_children_per_parent_to_return to
+ // control the number of children that are returned. There is no supported
+ // control for the number of children being scored at this time.
+ optional int32 max_joined_child_count = 4 [deprecated = true];
// The strategy by which to score the aggregation of child documents. For
// example, you might want to know which entity document has the most actions