Files
orion_greptime_proto/proto/greptime/v1/index/inverted_index.proto
T
Zhenchi 2ffdcae9f9 feat: add InvertedIndexMetas (#121)
* feat: add `InvertedIndexFooter`

Signed-off-by: Zhenchi <zhongzc_arch@outlook.com>

* feat: map instead of list

Signed-off-by: Zhenchi <zhongzc_arch@outlook.com>

* fix: add rust mod

Signed-off-by: Zhenchi <zhongzc_arch@outlook.com>

* chore: rename InvertedIndexFooter to InvertedIndexMetas

Signed-off-by: Zhenchi <zhongzc_arch@outlook.com>

* chore: add java outer classname option

Signed-off-by: Zhenchi <zhongzc_arch@outlook.com>

---------

Signed-off-by: Zhenchi <zhongzc_arch@outlook.com>
2023-11-23 12:31:40 +08:00

75 lines
2.8 KiB
Protocol Buffer

// Copyright 2023 Greptime Team
//
// 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 = "proto3";
package greptime.v1.index;
option java_package = "io.greptime.v1.index";
option java_outer_classname = "Index";
option go_package = "github.com/GreptimeTeam/greptime-proto/go/greptime/v1/index";
// InvertedIndexMetas defines the metadata for an inverted index
// within an SST file.
message InvertedIndexMetas {
// A map of tag names to their respective metadata corresponding to an individual
// inverted index within the SST file.
map<string, InvertedIndexMeta> metas = 1;
}
// InvertedIndexMeta contains the metadata for a specific tag's inverted index.
message InvertedIndexMeta {
// Name of the tag associated with the inverted index.
string name = 1;
// Defines the number of rows per group for bitmap indexing. It determines how rows
// are batched for indexing, with each batch corresponding to a segment in the bitmap.
// The groups are usually of uniform size, with the exception of the final group which
// may contain fewer rows if the total row count is not a multiple of 'row_count_in_group'.
// Segmenting allows indexed values in the tag column to be quickly located within
// their respective groups during a query, reducing the search space and improving
// retrieval efficiency.
uint64 row_count_in_group = 2;
// The byte offset of the Finite State Transducer (FST) within the SST file.
uint64 fst_offset = 3;
// The size in bytes of the FST data.
uint64 fst_size = 4;
// The byte offset where the null bitmap for this tag starts.
uint64 null_bitmap_offset = 5;
// The size in bytes of the null bitmap.
uint64 null_bitmap_size = 6;
// Statistical information about the tag's inverted index.
InvertedIndexStats stats = 7;
}
// InvertedIndexStats provides statistical data on a tag's inverted index.
message InvertedIndexStats {
// The count of null entries within the tag's column.
uint64 null_count = 1;
// The number of distinct values within the tag's column.
uint64 distinct_count = 2;
// The minimum value found within the tag's column, encoded as bytes.
bytes min_value = 3;
// The maximum value found within the tag's column, encoded as bytes.
bytes max_value = 4;
}