diff options
author | Tim Barron <tjbarron@google.com> | 2023-03-13 17:00:29 -0700 |
---|---|---|
committer | Tim Barron <tjbarron@google.com> | 2023-03-14 08:41:33 -0700 |
commit | d5c81ae0c41ae9c1aefb3601f3836570b9f686c7 (patch) | |
tree | 75040182238304328ac85e570c0baae90b7fe53e /proto | |
parent | 3fe6aa4251989fb27863fdbf51e18d8c1f9e42dd (diff) | |
download | icing-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.proto | 22 | ||||
-rw-r--r-- | proto/icing/proto/initialize.proto | 19 | ||||
-rw-r--r-- | proto/icing/proto/logging.proto | 8 |
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(). |