aboutsummaryrefslogtreecommitdiff
path: root/proto
diff options
context:
space:
mode:
authorTim Barron <tjbarron@google.com>2023-03-13 17:00:29 -0700
committerTim Barron <tjbarron@google.com>2023-03-14 08:41:33 -0700
commitd5c81ae0c41ae9c1aefb3601f3836570b9f686c7 (patch)
tree75040182238304328ac85e570c0baae90b7fe53e /proto
parent3fe6aa4251989fb27863fdbf51e18d8c1f9e42dd (diff)
downloadicing-d5c81ae0c41ae9c1aefb3601f3836570b9f686c7.tar.gz
Update Icing from upstream.
Descriptions: ======================================================================== Cache an instance of UBreakIterator to reduce unnecessary creations. ======================================================================== Cap number of individual IntegerIndexStorages that IntegerIndex creates. ======================================================================== Change error in trimRightMostNode from Unimplemented to InvalidArgument. ======================================================================== Add detection for new language features of List Filters Query Language. ======================================================================== Add option to control threshold to rebuild index during optimize by flag ======================================================================== Add option to control use of namespace id to build urimapper by flag. ======================================================================== Enforce schema validation for joinable config. ======================================================================== Adopt bucket splitting for IntegerIndexStorage. ======================================================================== Implement bucket splitting function. ======================================================================== Add Icing initialization unit tests for QualifiedIdTypeJoinableIndex. ======================================================================== Add Icing schema change unit tests for QualifiedIdTypeJoinableIndex. ======================================================================== Add Icing optimization unit tests for QualifiedIdTypeJoinableIndex. ======================================================================== Integrate QualifiedIdTypeJoinableIndex into IcingSearchEngine. ======================================================================== Implement QualifiedIdJoinablePropertyIndexingHandler. ======================================================================== Change QualifiedIdTypeJoinableIndex to store raw qualified id string. ======================================================================== Pass info about unnormalized query terms through lexer/parser/visitor. ======================================================================== Bug: 208654892 Bug: 263890397 Bug: 259743562 Bug: 272145329 Bug: 227356108 Change-Id: I438a390ddda5673cf2b5781af502f2b7cfeaee74
Diffstat (limited to 'proto')
-rw-r--r--proto/icing/index/numeric/wildcard-property-storage.proto22
-rw-r--r--proto/icing/proto/initialize.proto19
-rw-r--r--proto/icing/proto/logging.proto8
3 files changed, 47 insertions, 2 deletions
diff --git a/proto/icing/index/numeric/wildcard-property-storage.proto b/proto/icing/index/numeric/wildcard-property-storage.proto
new file mode 100644
index 0000000..7f02b77
--- /dev/null
+++ b/proto/icing/index/numeric/wildcard-property-storage.proto
@@ -0,0 +1,22 @@
+// Copyright 2023 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+syntax = "proto2";
+
+package icing.lib;
+
+// Next tag: 2
+message WildcardPropertyStorage {
+ repeated string property_entries = 1;
+}
diff --git a/proto/icing/proto/initialize.proto b/proto/icing/proto/initialize.proto
index 7fe1e6f..40a0d0c 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: 5
+// Next tag: 7
message IcingSearchEngineOptions {
// Directory to persist files for Icing. Required.
// If Icing was previously initialized with this directory, it will reload
@@ -58,6 +58,23 @@ message IcingSearchEngineOptions {
// Optional.
optional int32 index_merge_size = 4 [default = 1048576]; // 1 MiB
+ // Whether to use namespace id or namespace name to build up fingerprint for
+ // document_key_mapper_ and corpus_mapper_ in document store.
+ // TODO(b/259969017) Flip the default value of this flag to true at the time
+ // when we switch to use persistent hash map for document_key_mapper_ so that
+ // we just need one reconstruction of the internal mappers.
+ optional bool document_store_namespace_id_fingerprint = 5;
+
+ // The threshold of the percentage of invalid documents to rebuild index
+ // during optimize, i.e. we rebuild index if and only if
+ // |invalid_documents| / |all_documents| >= optimize_rebuild_index_threshold
+ //
+ // Rebuilding the index could be faster than optimizing the index if we have
+ // removed most of the documents.
+ // Based on benchmarks, 85%~95% seems to be a good threshold for most cases.
+ //
+ // Default to 0 for better rollout of the new index optimize.
+ optional float optimize_rebuild_index_threshold = 6 [default = 0.0];
reserved 2;
}
diff --git a/proto/icing/proto/logging.proto b/proto/icing/proto/logging.proto
index feb2643..edfcf40 100644
--- a/proto/icing/proto/logging.proto
+++ b/proto/icing/proto/logging.proto
@@ -23,7 +23,7 @@ option java_multiple_files = true;
option objc_class_prefix = "ICNG";
// Stats of the top-level function IcingSearchEngine::Initialize().
-// Next tag: 13
+// Next tag: 14
message InitializeStatsProto {
// Overall time used for the function call.
optional int32 latency_ms = 1;
@@ -105,6 +105,12 @@ message InitializeStatsProto {
// - SCHEMA_CHANGES_OUT_OF_SYNC
// - IO_ERROR
optional RecoveryCause integer_index_restoration_cause = 12;
+
+ // Possible recovery causes for qualified id join index:
+ // - INCONSISTENT_WITH_GROUND_TRUTH
+ // - SCHEMA_CHANGES_OUT_OF_SYNC
+ // - IO_ERROR
+ optional RecoveryCause qualified_id_join_index_restoration_cause = 13;
}
// Stats of the top-level function IcingSearchEngine::Put().