From 2241323ad190ea2dec35facfdd484365329b5a55 Mon Sep 17 00:00:00 2001 From: Navansh Goel <74401713+NavanshGoel@users.noreply.github.com> Date: Thu, 14 Oct 2021 12:00:27 +0530 Subject: [PATCH 01/21] Converting for loops to list comprehensions (#746) Signed-off-by: navansh <navansh.goel@gmail.com> --- pymilvus/client/abstract.py | 11 +++-------- pymilvus/client/grpc_handler.py | 5 +---- 2 files changed, 4 insertions(+), 12 deletions(-) diff --git a/pymilvus/client/abstract.py b/pymilvus/client/abstract.py index 0bf1c19c1..7b01a0111 100644 --- a/pymilvus/client/abstract.py +++ b/pymilvus/client/abstract.py @@ -25,9 +25,7 @@ def __getitem__(self, item): _end = min(item.stop, self.__len__()) if item.stop else self.__len__() _step = item.step or 1 - elements = [] - for i in range(_start, _end, _step): - elements.append(self.get__item(i)) + elements = [self.get__item(i) for i in range(_start, _end, _step)] return elements if item >= self.__len__(): @@ -146,8 +144,7 @@ def __pack(self, raw): # self.params.update(par) # # self.params[kv.key] = kv.value - for f in raw.schema.fields: - self.fields.append(FieldSchema(f)) + self.fields = [FieldSchema(f) for f in raw.schema.fields] # for s in raw.statistics: # self.statistics[s.key] = s.value @@ -190,9 +187,7 @@ def id(self): @property def fields(self): - fields = [] - for k, v in self._row_data.items(): - fields.append(k) + fields = [k for k, v in self._row_data.items()] return fields def get(self, field): diff --git a/pymilvus/client/grpc_handler.py b/pymilvus/client/grpc_handler.py index c739d4aa0..ed5ff1714 100644 --- a/pymilvus/client/grpc_handler.py +++ b/pymilvus/client/grpc_handler.py @@ -477,10 +477,7 @@ def _prepare_bulk_insert_request(self, collection_name, entities, partition_name collection_schema = self.describe_collection(collection_name, timeout=timeout, **kwargs) fields_name = list() - for i in range(len(entities)): - if "name" in entities[i]: - fields_name.append(entities[i]["name"]) - + fields_name = [entities[i]["name"] for i in range(len(entities)) if "name" in entities[i]] fields_info = collection_schema["fields"] request = insert_param if insert_param \ From 017641c9b493e0dba2dd66bd387b6d6ff399bb5e Mon Sep 17 00:00:00 2001 From: Sreyan Ghosh <60854658+sreyan-ghosh@users.noreply.github.com> Date: Thu, 14 Oct 2021 12:12:26 +0530 Subject: [PATCH 02/21] Exposed guarantee_timestamp of search api (ref: #666) (#753) Signed-off-by: GitHub <noreply@github.com> added documentation for guarantee_timestamp (ref: #753) Signed-off-by: GitHub <noreply@github.com> --- pymilvus/client/prepare.py | 3 +++ pymilvus/client/stub.py | 3 +++ pymilvus/orm/collection.py | 3 +++ pymilvus/orm/partition.py | 3 +++ 4 files changed, 12 insertions(+) diff --git a/pymilvus/client/prepare.py b/pymilvus/client/prepare.py index 385e20d28..9bfa1bf00 100644 --- a/pymilvus/client/prepare.py +++ b/pymilvus/client/prepare.py @@ -500,6 +500,7 @@ def extract_vectors_param(param, placeholders, meta=None, names=None, round_deci collection_name=collection_name, partition_names=partition_names, output_fields=fields, + guarantee_timestamp=kwargs.get("guarantee_timestamp", 0), ) request.dsl = ujson.dumps(duplicated_entities) request.placeholder_group = plg_str @@ -524,6 +525,7 @@ def search_request(cls, collection_name, query_entities, partition_names=None, f collection_name=collection_name, partition_names=partition_names, output_fields=fields, + guarantee_timestamp=kwargs.get("guarantee_timestamp", 0), ) duplicated_entities = copy.deepcopy(query_entities) @@ -646,6 +648,7 @@ def dump(v): collection_name=collection_name, partition_names=partition_names, output_fields=output_fields, + guarantee_timestamp=kwargs.get("guarantee_timestamp", 0), ) request.placeholder_group = plg_str diff --git a/pymilvus/client/stub.py b/pymilvus/client/stub.py index ebcc7fe91..34f52d02e 100644 --- a/pymilvus/client/stub.py +++ b/pymilvus/client/stub.py @@ -1044,6 +1044,9 @@ def search(self, collection_name, data, anns_field, param, limit, expression=Non * *_callback* (``function``) -- The callback function which is invoked after server response successfully. It only take effect when _async is set to True. + * *guarantee_timestamp* (``function``) -- + This function instructs Milvus to see all operations performed before a provided timestamp. If no + such timestamp is provided, then Milvus will search all operations performed to date. :return: Query result. QueryResult is iterable and is a 2d-array-like class, the first dimension is the number of vectors to query (nq), the second dimension is the number of limit(topk). diff --git a/pymilvus/orm/collection.py b/pymilvus/orm/collection.py index 7cffc908c..ef93c0100 100644 --- a/pymilvus/orm/collection.py +++ b/pymilvus/orm/collection.py @@ -616,6 +616,9 @@ def search(self, data, anns_field, param, limit, expr=None, partition_names=None * *_callback* (``function``) -- The callback function which is invoked after server response successfully. It functions only if _async is set to True. + * *guarantee_timestamp* (``function``) -- + This function instructs Milvus to see all operations performed before a provided timestamp. If no + such timestamp is provided, then Milvus will search all operations performed to date. :return: SearchResult: SearchResult is iterable and is a 2d-array-like class, the first dimension is diff --git a/pymilvus/orm/partition.py b/pymilvus/orm/partition.py index 7ec3f20d9..44a4d59a9 100644 --- a/pymilvus/orm/partition.py +++ b/pymilvus/orm/partition.py @@ -354,6 +354,9 @@ def search(self, data, anns_field, param, limit, expr=None, output_fields=None, * *_callback* (``function``) -- The callback function which is invoked after server response successfully. It only takes effect when _async is set to True. + * *guarantee_timestamp* (``function``) -- + This function instructs Milvus to see all operations performed before a provided timestamp. If no + such timestamp is provided, then Milvus will search all operations performed to date. :return: SearchResult: SearchResult is iterable and is a 2d-array-like class, the first dimension is From dd913e65324191e03f8e728bc3de2036eb3eece4 Mon Sep 17 00:00:00 2001 From: Siddharth Mishra <smishra1605@gmail.com> Date: Fri, 15 Oct 2021 08:14:27 +0530 Subject: [PATCH 03/21] feat: Added github issue forms (#742) closes #590 #741 Signed-off-by: Siddharth <smishra1605@gmail.com> --- .github/ISSUE_TEMPLATE/bug_report.md | 30 ---------- .github/ISSUE_TEMPLATE/bug_report.yaml | 61 ++++++++++++++++++++ .github/ISSUE_TEMPLATE/config.yml | 1 + .github/ISSUE_TEMPLATE/feature_request.md | 20 ------- .github/ISSUE_TEMPLATE/feature_request.yaml | 40 +++++++++++++ .github/ISSUE_TEMPLATE/general-question.md | 10 ---- .github/ISSUE_TEMPLATE/general-question.yaml | 22 +++++++ 7 files changed, 124 insertions(+), 60 deletions(-) delete mode 100644 .github/ISSUE_TEMPLATE/bug_report.md create mode 100644 .github/ISSUE_TEMPLATE/bug_report.yaml create mode 100644 .github/ISSUE_TEMPLATE/config.yml delete mode 100644 .github/ISSUE_TEMPLATE/feature_request.md create mode 100644 .github/ISSUE_TEMPLATE/feature_request.yaml delete mode 100644 .github/ISSUE_TEMPLATE/general-question.md create mode 100644 .github/ISSUE_TEMPLATE/general-question.yaml diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md deleted file mode 100644 index 7c2666657..000000000 --- a/.github/ISSUE_TEMPLATE/bug_report.md +++ /dev/null @@ -1,30 +0,0 @@ ---- -name: "\U0001F41B Bug report" -about: Create a report to help us improve pymilvus -title: '[BUG]' -labels: '' -assignees: '' - ---- - -**Describe the bug** -A clear and concise description of what the bug is. - -**Steps/Code to reproduce behavior** -Follow this [guide](http://matthewrocklin.com/blog/work/2018/02/28/minimal-bug-reports) to craft a minimal bug report. This helps us reproduce the issue you're having and resolve the issue more quickly. - -**Expected behavior** -A clear and concise description of what you expected to happen. - -**Environment details** - -- Hardware/Softward conditions (OS, CPU, GPU, Memory) -- Method of installation (Docker, or from source) -- Milvus version (v0.3.1, or v0.4.0) -- Milvus configuration (Settings you made in `server_config.yaml`) - -**Screenshots** -If applicable, add screenshots to help explain your problem. - -**Additional context** -Add any other context about the problem here. diff --git a/.github/ISSUE_TEMPLATE/bug_report.yaml b/.github/ISSUE_TEMPLATE/bug_report.yaml new file mode 100644 index 000000000..20a492b28 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug_report.yaml @@ -0,0 +1,61 @@ +name: 🐞 Bug report +description: Create a report to help us improve pymilvus +title: "[Bug]: " +body: +- type: markdown + attributes: + value: | + Thanks for taking the time to fill out this bug report! +- type: checkboxes + attributes: + label: Is there an existing issue for this? + description: Please search to see if an issue already exists for the bug you encountered. + options: + - label: I have searched the existing issues + required: true +- type: textarea + attributes: + label: Describe the bug + description: A clear and concise description of what the bug is. + placeholder: | + When I do <X>, <Y> happens and I see the error message attached below: + ```...``` + validations: + required: false +- type: textarea + attributes: + label: Expected Behavior + description: A clear and concise description of what you expected to happen. + placeholder: When I do <X>, <Z> should happen instead. + validations: + required: false +- type: textarea + attributes: + label: Steps/Code To Reproduce behavior + description: | + Follow this [guide](http://matthewrocklin.com/blog/work/2018/02/28/minimal-bug-reports) to craft a minimal bug report. + This helps us reproduce the issue you're having and resolve the issue more quickly. + render: markdown + validations: + required: false +- type: textarea + attributes: + label: Environment details + description: | + Enter the Environment Details: + value: | + - Hardware/Softward conditions (OS, CPU, GPU, Memory): + - Method of installation (Docker, or from source): + - Milvus version (v0.3.1, or v0.4.0): + - Milvus configuration (Settings you made in `server_config.yaml`): + render: markdown + validations: + required: false +- type: textarea + attributes: + label: Anything else? + description: | + If applicable, add screenshots to help explain your problem. + Links? References? Anything that will give us more context about the issue you are encountering! + validations: + required: false \ No newline at end of file diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml new file mode 100644 index 000000000..ec4bb386b --- /dev/null +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -0,0 +1 @@ +blank_issues_enabled: false \ No newline at end of file diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md deleted file mode 100644 index 743048076..000000000 --- a/.github/ISSUE_TEMPLATE/feature_request.md +++ /dev/null @@ -1,20 +0,0 @@ ---- -name: "\U0001F680 Feature request" -about: Suggest an idea for pymilvus -title: '[FEATURE]' -labels: '' -assignees: '' - ---- - -**Is your feature request related to a problem? Please describe.** -A clear and concise description of what the problem is. E.g. I wish I could use Milvus to do [...] - -**Describe the solution you'd like** -A clear and concise description of what you want to happen. - -**Describe alternatives you've considered** -A clear and concise description of any alternative solutions or features you've considered. - -**Additional context** -Add any other context, code examples, or references to existing implementations about the feature request here. diff --git a/.github/ISSUE_TEMPLATE/feature_request.yaml b/.github/ISSUE_TEMPLATE/feature_request.yaml new file mode 100644 index 000000000..0893549d4 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature_request.yaml @@ -0,0 +1,40 @@ +name: 🚀 Feature request +description: Suggest an idea for pymilvus +title: "[FEATURE]: " +body: +- type: markdown + attributes: + value: | + Thanks for taking the time to request a feature for pymilvus! +- type: checkboxes + attributes: + label: Is there an existing issue for this? + description: Please search to see if an issue related to this feature request already exists. + options: + - label: I have searched the existing issues + required: true +- type: textarea + attributes: + label: Is your feature request related to a problem? Please describe. + description: A clear and concise description of what the problem is. + placeholder: I wish I could use Milvus to do [...] + validations: + required: false +- type: textarea + attributes: + label: Describe the solution you'd like + description: A clear and concise description of what you want to happen. + validations: + required: false +- type: textarea + attributes: + label: Describe alternatives you've considered + description: A clear and concise description of any alternative solutions or features you've considered. + validations: + required: false +- type: textarea + attributes: + label: Anything else? + description: Add any other context, code examples, or references to existing implementations about the feature request here. + validations: + required: false \ No newline at end of file diff --git a/.github/ISSUE_TEMPLATE/general-question.md b/.github/ISSUE_TEMPLATE/general-question.md deleted file mode 100644 index ad68ee225..000000000 --- a/.github/ISSUE_TEMPLATE/general-question.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -name: "\U0001F914 General question" -about: Ask a general question about pymilvus -title: '[QUESTION]' -labels: '' -assignees: '' - ---- - -**What is your question?** diff --git a/.github/ISSUE_TEMPLATE/general-question.yaml b/.github/ISSUE_TEMPLATE/general-question.yaml new file mode 100644 index 000000000..82989736e --- /dev/null +++ b/.github/ISSUE_TEMPLATE/general-question.yaml @@ -0,0 +1,22 @@ +name: 🤔 General question +description: Ask a general question about pymilvus +title: "[QUESTION]: " +body: +- type: checkboxes + attributes: + label: Is there an existing issue for this? + description: Please search to see if an issue related to this already exists. + options: + - label: I have searched the existing issues + required: true +- type: textarea + attributes: + label: What is your question? + validations: + required: false +- type: textarea + attributes: + label: Anything else? + description: Add any other context, code examples, or references about the question? + validations: + required: false \ No newline at end of file From 12d51177100f1dc04b053a0c93d45557db62ebb6 Mon Sep 17 00:00:00 2001 From: XuanYang-cn <xuan.yang@zilliz.com> Date: Fri, 15 Oct 2021 15:24:37 +0800 Subject: [PATCH 04/21] Fix check_pass_param check for ndarray (#756) Resolves: #755 Signed-off-by: XuanYang-cn <xuan.yang@zilliz.com> --- pymilvus/client/check.py | 7 ++++--- tests/test_check.py | 21 +++++++++++++++++++++ 2 files changed, 25 insertions(+), 3 deletions(-) create mode 100644 tests/test_check.py diff --git a/pymilvus/client/check.py b/pymilvus/client/check.py index 576c34d14..b0b025167 100644 --- a/pymilvus/client/check.py +++ b/pymilvus/client/check.py @@ -144,7 +144,7 @@ def is_legal_ids(ids): i_ = int(i) if i_ < 0 or i_ > sys.maxsize: return False - except: + except Exception: return False return True @@ -195,13 +195,14 @@ def is_legal_anns_field(field): def is_legal_search_data(data): - if not isinstance(data, list): + import numpy as np + if not isinstance(data, (list, np.ndarray)): return False for vector in data: # list -> float vector # bytes -> byte vector - if not isinstance(vector, (list, bytes)): + if not isinstance(vector, (list, bytes, np.ndarray)): return False return True diff --git a/tests/test_check.py b/tests/test_check.py new file mode 100644 index 000000000..61ce4121d --- /dev/null +++ b/tests/test_check.py @@ -0,0 +1,21 @@ +import pytest +from pymilvus.client.check import check_pass_param + + +class TestCheckPassParam: + def test_check_pass_param_valid(self): + a = [[i * j for i in range(20)] for j in range(20)] + check_pass_param(search_data=a) + + import numpy as np + a = np.float32([[1, 2, 3, 4], [1, 2, 3, 4]]) + check_pass_param(search_data=a) + + def test_check_param_invalid(self): + with pytest.raises(Exception): + a = {[i * j for i in range(20) for j in range(20)]} + check_pass_param(search_data=a) + + with pytest.raises(Exception): + a = [{i * j for i in range(40)} for j in range(40)] + check_pass_param(search_data=a) From 803e0bf014b62128baff61c15984433d81362aad Mon Sep 17 00:00:00 2001 From: XuanYang-cn <xuan.yang@zilliz.com> Date: Mon, 18 Oct 2021 10:46:28 +0800 Subject: [PATCH 05/21] Add util to calculate timestamp (#759) Resolves: milvus-io/milvus#9956 Signed-off-by: XuanYang-cn <xuan.yang@zilliz.com> --- pymilvus/client/prepare.py | 43 +++++++++++++++++--------------------- pymilvus/client/stub.py | 2 +- pymilvus/client/utils.py | 19 +++++++++++++---- pymilvus/orm/collection.py | 4 ++-- tests/test_check.py | 8 +++++++ 5 files changed, 45 insertions(+), 31 deletions(-) diff --git a/pymilvus/client/prepare.py b/pymilvus/client/prepare.py index 9bfa1bf00..c5e72c562 100644 --- a/pymilvus/client/prepare.py +++ b/pymilvus/client/prepare.py @@ -1,24 +1,17 @@ -import abc import copy -import struct import ujson import mmh3 +from . import blob +from .configs import DefaultConfigs from .exceptions import ParamError from .check import check_pass_param +from .types import DataType, PlaceholderType, DeployMode -from ..grpc_gen import milvus_pb2 as grpc_types - -# for milvus-distributed from ..grpc_gen import common_pb2 as common_types from ..grpc_gen import schema_pb2 as schema_types from ..grpc_gen import milvus_pb2 as milvus_types -from . import blob -from .configs import DefaultConfigs - -from .types import RangeType, DataType, MetricType, IndexType, PlaceholderType, DeployMode - class Prepare: @@ -46,7 +39,6 @@ def create_collection_request(cls, collection_name, fields, shards_num=2, **kwar if "fields" not in fields: raise ParamError("Param fields must contains key 'fields'") - schema = schema_types.CollectionSchema(name=collection_name) # auto_id = fields.get('auto_id', True) @@ -126,7 +118,7 @@ def create_collection_request(cls, collection_name, fields, shards_num=2, **kwar schema.fields.append(field_schema) return milvus_types.CreateCollectionRequest(collection_name=collection_name, - schema=bytes(schema.SerializeToString()), shards_num = shards_num) + schema=bytes(schema.SerializeToString()), shards_num=shards_num) @classmethod def drop_collection_request(cls, collection_name): @@ -367,13 +359,13 @@ def bulk_insert_param(cls, collection_name, entities, partition_name, fields_inf @classmethod def delete_request(cls, collection_name, partition_name, expr): - def check_str(input, prefix): - if (input == None): + def check_str(instr, prefix): + if instr is None: raise ParamError(prefix + " cannot be None") - if not isinstance(input, str): + if not isinstance(instr, str): msg = prefix + " value {} is illegal" - raise ParamError(msg.format(input)) - if input == "": + raise ParamError(msg.format(instr)) + if instr == "": raise ParamError(prefix + " cannot be empty") check_str(collection_name, "collection_name") @@ -381,7 +373,7 @@ def check_str(input, prefix): # if partition_name is null or empty, delete action will apply to whole collection partition_name = partition_name or "" - request = milvus_types.DeleteRequest(collection_name=collection_name, expr = expr, partition_name=partition_name) + request = milvus_types.DeleteRequest(collection_name=collection_name, expr=expr, partition_name=partition_name) return request @classmethod @@ -419,6 +411,7 @@ def divide_search_request(cls, collection_name, query_entities, partition_names= vector_names = dict() meta = {} # TODO: ugly here, find a better method + def extract_vectors_param(param, placeholders, meta=None, names=None, round_decimal=-1): if not isinstance(param, (dict, list)): return @@ -635,6 +628,7 @@ def search_requests_with_expr(cls, collection_name, data, anns_field, param, lim if not isinstance(params, dict): raise ParamError("Search params must be a dict") search_params = {"anns_field": anns_field, "topk": limit, "metric_type": metric_type, "params": params, "round_decimal": round_decimal} + def dump(v): if isinstance(v, dict): return ujson.dumps(v) @@ -729,7 +723,7 @@ def load_partitions(cls, db_name, collection_name, partition_names): @classmethod def release_partitions(cls, db_name, collection_name, partition_names): return milvus_types.ReleasePartitionsRequest(db_name=db_name, collection_name=collection_name, - partition_names=partition_names) + partition_names=partition_names) @classmethod def get_collection_stats_request(cls, collection_name): @@ -780,11 +774,11 @@ def query_request(cls, collection_name, expr, output_fields, partition_names): ) @classmethod - def calc_distance_request(cls, vectors_left, vectors_right, params): - if vectors_left == None or not isinstance(vectors_left, dict): + def calc_distance_request(cls, vectors_left, vectors_right, params): + if vectors_left is None or not isinstance(vectors_left, dict): raise ParamError("vectors_left value {} is illegal".format(vectors_left)) - if vectors_right == None or not isinstance(vectors_right, dict): + if vectors_right is None or not isinstance(vectors_right, dict): raise ParamError("vectors_right value {} is illegal".format(vectors_right)) def precheck_params(p): @@ -800,11 +794,12 @@ def precheck_params(p): request = milvus_types.CalcDistanceRequest() request.params.extend([common_types.KeyValuePair(key=str(key), value=str(value)) - for key, value in params.items()]) + for key, value in params.items()]) _TYPE_IDS = "ids" _TYPE_FLOAT = "float_vectors" _TYPE_BIN = "bin_vectors" + def extract_vectors(vectors, request_op, is_left): prefix = "vectors_right" if is_left: @@ -819,7 +814,7 @@ def extract_vectors(vectors, request_op, is_left): if (not isinstance(ids, list)) or len(ids) == 0: raise ParamError("Vector id array is empty or not a list") - calc_type = _TYPE_IDS + calc_type = _TYPE_IDS if isinstance(ids[0], str): request_op.id_array.id_array.str_id.data.extend(ids) else: diff --git a/pymilvus/client/stub.py b/pymilvus/client/stub.py index 34f52d02e..fd9ee6080 100644 --- a/pymilvus/client/stub.py +++ b/pymilvus/client/stub.py @@ -1044,7 +1044,7 @@ def search(self, collection_name, data, anns_field, param, limit, expression=Non * *_callback* (``function``) -- The callback function which is invoked after server response successfully. It only take effect when _async is set to True. - * *guarantee_timestamp* (``function``) -- + * *guarantee_timestamp* (``int``) -- This function instructs Milvus to see all operations performed before a provided timestamp. If no such timestamp is provided, then Milvus will search all operations performed to date. diff --git a/pymilvus/client/utils.py b/pymilvus/client/utils.py index 05952d648..d014e8b03 100644 --- a/pymilvus/client/utils.py +++ b/pymilvus/client/utils.py @@ -1,7 +1,3 @@ -from ..grpc_gen import common_pb2 -from ..grpc_gen.milvus_pb2 import SearchResults as Grpc_Result -from ..client.abstract import QueryResult -from ..client.exceptions import ParamError from .types import DataType valid_index_types = [ @@ -43,6 +39,21 @@ "SUPERSTRUCTURE" ] +LOGICAL_BITS = 18 +LOGICAL_BITS_MASK = (1 << LOGICAL_BITS) - 1 + + +def generate_timestamp(timestamp: int, ms: int) -> int: + """ + generate_timestamp adds the real time to an existing timestamp, and returns back the new timestamp + """ + + logical = timestamp & LOGICAL_BITS_MASK + physical = timestamp >> LOGICAL_BITS + + new_timestamp = int(((physical + ms) << LOGICAL_BITS) + logical) + return new_timestamp + def check_invalid_binary_vector(entities): for entity in entities: diff --git a/pymilvus/orm/collection.py b/pymilvus/orm/collection.py index ef93c0100..f71fafdcd 100644 --- a/pymilvus/orm/collection.py +++ b/pymilvus/orm/collection.py @@ -616,7 +616,7 @@ def search(self, data, anns_field, param, limit, expr=None, partition_names=None * *_callback* (``function``) -- The callback function which is invoked after server response successfully. It functions only if _async is set to True. - * *guarantee_timestamp* (``function``) -- + * *guarantee_timestamp* (``int``) -- This function instructs Milvus to see all operations performed before a provided timestamp. If no such timestamp is provided, then Milvus will search all operations performed to date. @@ -1203,4 +1203,4 @@ def alter_alias(self, alias, timeout=None, **kwargs): otherwise return Status(code=1, message='alias does not exist') """ conn = self._get_connection() - conn.alter_alias(self._name, alias, timeout=timeout, **kwargs) \ No newline at end of file + conn.alter_alias(self._name, alias, timeout=timeout, **kwargs) diff --git a/tests/test_check.py b/tests/test_check.py index 61ce4121d..b985aa4f8 100644 --- a/tests/test_check.py +++ b/tests/test_check.py @@ -1,5 +1,6 @@ import pytest from pymilvus.client.check import check_pass_param +from pymilvus.client.utils import generate_timestamp class TestCheckPassParam: @@ -19,3 +20,10 @@ def test_check_param_invalid(self): with pytest.raises(Exception): a = [{i * j for i in range(40)} for j in range(40)] check_pass_param(search_data=a) + + +class TestGenTS: + def test_gen_timestamp(self): + t = generate_timestamp(426152581543231492, 1000) + + print(f"Generated ts: {t}") From 74ca9e89dbbd5f05caf737ab41e0d77e45ffb3b2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Anton=20Gr=C3=BCbel?= <anton.gruebel@gmail.com> Date: Mon, 18 Oct 2021 04:50:30 +0200 Subject: [PATCH 06/21] improve client.check (#743) Signed-off-by: gruebel <anton.gruebel@gmail.com> --- pymilvus/client/check.py | 101 ++++++++++++++++++++------------------- 1 file changed, 51 insertions(+), 50 deletions(-) diff --git a/pymilvus/client/check.py b/pymilvus/client/check.py index b0b025167..80d9db9cc 100644 --- a/pymilvus/client/check.py +++ b/pymilvus/client/check.py @@ -1,17 +1,15 @@ import sys import datetime +from typing import Any, Union from urllib.parse import urlparse from .exceptions import ParamError -def is_legal_host(host): - if not isinstance(host, str): - return False - - return True +def is_legal_host(host: Any) -> bool: + return isinstance(host, str) -def is_legal_port(port): +def is_legal_port(port: Any) -> bool: if isinstance(port, (str, int)): try: _port = int(port) @@ -24,7 +22,7 @@ def is_legal_port(port): return True -def is_legal_uri(uri): +def is_legal_uri(uri: Any) -> bool: if uri is None: return True @@ -35,7 +33,7 @@ def is_legal_uri(uri): return False -def is_legal_vector(array): +def is_legal_vector(array: Any) -> bool: if not array or \ not isinstance(array, list) or \ len(array) == 0: @@ -48,7 +46,7 @@ def is_legal_vector(array): return True -def is_legal_bin_vector(array): +def is_legal_bin_vector(array: Any) -> bool: if not array or \ not isinstance(array, bytes) or \ len(array) == 0: @@ -57,13 +55,15 @@ def is_legal_bin_vector(array): return True -def is_legal_numpy_array(array): - return False if array is None or array.size == 0 else True +def is_legal_numpy_array(array: Any) -> bool: + return not (array is None or array.size == 0) # def is_legal_records(value): -# param_error = ParamError('A vector must be a non-empty, 2-dimensional array and ' -# 'must contain only elements with the float data type or the bytes data type.') +# param_error = ParamError( +# 'A vector must be a non-empty, 2-dimensional array and ' +# 'must contain only elements with the float data type or the bytes data type.' +# ) # # if isinstance(value, np.ndarray): # if not is_legal_numpy_array(value): @@ -91,49 +91,48 @@ def is_legal_numpy_array(array): # return True -def int_or_str(item): +def int_or_str(item: Union[int, str]) -> str: if isinstance(item, int): return str(item) return item -def is_correct_date_str(param): +def is_correct_date_str(param: str) -> bool: try: datetime.datetime.strptime(param, '%Y-%m-%d') except ValueError: - raise ParamError('Incorrect data format, should be YYYY-MM-DD') + return False return True -def is_legal_dimension(dim): +def is_legal_dimension(dim: Any) -> bool: return isinstance(dim, int) -def is_legal_index_size(index_size): +def is_legal_index_size(index_size: Any) -> bool: return isinstance(index_size, int) -def is_legal_table_name(table_name): - return isinstance(table_name, str) and len(table_name) > 0 +def is_legal_table_name(table_name: Any) -> bool: + return table_name and isinstance(table_name, str) -def is_legal_field_name(field_name): - return isinstance(field_name, str) and len(field_name) > 0 +def is_legal_field_name(field_name: Any) -> bool: + return field_name and isinstance(field_name, str) -def is_legal_nlist(nlist): +def is_legal_nlist(nlist: Any) -> bool: return not isinstance(nlist, bool) and isinstance(nlist, int) -def is_legal_topk(topk): +def is_legal_topk(topk: Any) -> bool: return not isinstance(topk, bool) and isinstance(topk, int) -def is_legal_ids(ids): - if not isinstance(ids, list) or \ - len(ids) == 0: +def is_legal_ids(ids: Any) -> bool: + if not ids or not isinstance(ids, list): return False # TODO: Here check id valid value range may not match other SDK @@ -150,15 +149,15 @@ def is_legal_ids(ids): return True -def is_legal_nprobe(nprobe): +def is_legal_nprobe(nprobe: Any) -> bool: return isinstance(nprobe, int) -def is_legal_cmd(cmd): - return isinstance(cmd, str) and len(cmd) > 0 +def is_legal_cmd(cmd: Any) -> bool: + return cmd and isinstance(cmd, str) -def parser_range_date(date): +def parser_range_date(date: Union[str, datetime.date]) -> str: if isinstance(date, datetime.date): return date.strftime('%Y-%m-%d') @@ -173,7 +172,7 @@ def parser_range_date(date): 'or datetime.datetime object') -def is_legal_date_range(start, end): +def is_legal_date_range(start: str, end: str) -> bool: start_date = datetime.datetime.strptime(start, "%Y-%m-%d") end_date = datetime.datetime.strptime(end, "%Y-%m-%d") if (end_date - start_date).days < 0: @@ -182,19 +181,19 @@ def is_legal_date_range(start, end): return True -def is_legal_partition_name(tag): +def is_legal_partition_name(tag: Any) -> bool: return tag is not None and isinstance(tag, str) -def is_legal_limit(limit): - return isinstance(limit, int) and limit > 0 +def is_legal_limit(limit: Any) -> bool: + return limit and isinstance(limit, int) -def is_legal_anns_field(field): - return isinstance(field, str) and len(field) > 0 +def is_legal_anns_field(field: Any) -> bool: + return field and isinstance(field, str) -def is_legal_search_data(data): +def is_legal_search_data(data: Any) -> bool: import numpy as np if not isinstance(data, (list, np.ndarray)): return False @@ -208,7 +207,7 @@ def is_legal_search_data(data): return True -def is_legal_output_fields(output_fields): +def is_legal_output_fields(output_fields: Any) -> bool: if output_fields is None: return True @@ -222,7 +221,7 @@ def is_legal_output_fields(output_fields): return True -def is_legal_partition_name_array(tag_array): +def is_legal_partition_name_array(tag_array: Any) -> bool: if tag_array is None: return True @@ -238,7 +237,7 @@ def is_legal_partition_name_array(tag_array): # https://milvus.io/cn/docs/v1.0.0/metric.md#floating def is_legal_index_metric_type(index_type: str, metric_type: str) -> bool: - if index_type not in ["FLAT", + if index_type not in ("FLAT", "IVF_FLAT", "IVF_SQ8", # "IVF_SQ8_HYBRID", @@ -248,9 +247,9 @@ def is_legal_index_metric_type(index_type: str, metric_type: str) -> bool: "ANNOY", "RHNSW_FLAT", "RHNSW_PQ", - "RHNSW_SQ", ]: + "RHNSW_SQ"): return False - if metric_type not in ["L2", "IP"]: + if metric_type not in ("L2", "IP"): return False return True @@ -258,21 +257,23 @@ def is_legal_index_metric_type(index_type: str, metric_type: str) -> bool: # https://milvus.io/cn/docs/v1.0.0/metric.md#binary def is_legal_binary_index_metric_type(index_type: str, metric_type: str) -> bool: if index_type == "BIN_FLAT": - if metric_type in ["JACCARD", "TANIMOTO", "HAMMING", "SUBSTRUCTURE", "SUPERSTRUCTURE"]: + if metric_type in ("JACCARD", "TANIMOTO", "HAMMING", "SUBSTRUCTURE", "SUPERSTRUCTURE"): return True elif index_type == "BIN_IVF_FLAT": - if metric_type in ["JACCARD", "TANIMOTO", "HAMMING"]: + if metric_type in ("JACCARD", "TANIMOTO", "HAMMING"): return True return False -def _raise_param_error(param_name, param_value): - raise ParamError("`{}` value {} is illegal".format(param_name, param_value)) +def _raise_param_error(param_name: str, param_value: Any) -> None: + raise ParamError(f"`{param_name}` value {param_value} is illegal") + -def is_legal_round_decimal(round_decimal): +def is_legal_round_decimal(round_decimal: Any) -> bool: return isinstance(round_decimal, int) and -2 < round_decimal < 7 -def check_pass_param(*args, **kwargs): + +def check_pass_param(*_args: Any, **kwargs: Any) -> None: # pylint: disable=too-many-statements if kwargs is None: raise ParamError("Param should not be None") @@ -329,4 +330,4 @@ def check_pass_param(*args, **kwargs): # if not is_legal_records(value): # _raise_param_error(key, value) else: - raise ParamError("unknown param `{}`".format(key)) + raise ParamError(f"unknown param `{key}`") From 48bbc3830cbaf33db32d31e97d288b8e26a91785 Mon Sep 17 00:00:00 2001 From: XuanYang-cn <xuan.yang@zilliz.com> Date: Mon, 18 Oct 2021 14:43:40 +0800 Subject: [PATCH 07/21] Fix check limit error (#760) Signed-off-by: XuanYang-cn <xuan.yang@zilliz.com> --- pymilvus/client/check.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pymilvus/client/check.py b/pymilvus/client/check.py index 80d9db9cc..c0a77bd85 100644 --- a/pymilvus/client/check.py +++ b/pymilvus/client/check.py @@ -186,7 +186,7 @@ def is_legal_partition_name(tag: Any) -> bool: def is_legal_limit(limit: Any) -> bool: - return limit and isinstance(limit, int) + return isinstance(limit, int) and limit > 0 def is_legal_anns_field(field: Any) -> bool: From 1fdb463472186ea3b85d5dd2e4e9de2bbcc9ea26 Mon Sep 17 00:00:00 2001 From: XuanYang-cn <xuan.yang@zilliz.com> Date: Mon, 18 Oct 2021 17:46:37 +0800 Subject: [PATCH 08/21] Make gt avaliable (#761) Signed-off-by: XuanYang-cn <xuan.yang@zilliz.com> --- pymilvus/__init__.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pymilvus/__init__.py b/pymilvus/__init__.py index ca2bd9b6a..bfde66641 100644 --- a/pymilvus/__init__.py +++ b/pymilvus/__init__.py @@ -46,6 +46,8 @@ from .orm import utility from .orm.default_config import DefaultConfig +from .client.utils import generate_timestamp + from .orm.search import SearchResult, Hits, Hit from .orm.schema import FieldSchema, CollectionSchema from .orm.future import SearchFuture, MutationFuture @@ -56,6 +58,7 @@ 'Collection', 'Index', 'Partition', 'connections', 'loading_progress', 'index_building_progress', 'wait_for_loading_complete', 'has_collection', 'has_partition', 'list_collections', 'wait_for_loading_complete', 'wait_for_index_building_complete', 'drop_collection', + 'generate_timestamp', 'SearchResult', 'Hits', 'Hit', 'FieldSchema', 'CollectionSchema', 'SearchFuture', 'MutationFuture', From 43aba4581b224ad2fc637bd5cf66859aa0d41402 Mon Sep 17 00:00:00 2001 From: jingkl <34296482+jingkl@users.noreply.github.com> Date: Tue, 19 Oct 2021 21:12:36 +0800 Subject: [PATCH 09/21] remote docs/draft file (#771) Signed-off-by: jingkl <jingjing.jia@zilliz.com> --- docs/draft/collection.md | 62 --------------------------------------- docs/draft/connections.md | 7 ----- docs/draft/index.md | 19 ------------ docs/draft/partition.md | 26 ---------------- docs/draft/schema.md | 58 ------------------------------------ docs/draft/search.md | 29 ------------------ docs/draft/utility.md | 18 ------------ 7 files changed, 219 deletions(-) delete mode 100644 docs/draft/collection.md delete mode 100644 docs/draft/connections.md delete mode 100644 docs/draft/index.md delete mode 100644 docs/draft/partition.md delete mode 100644 docs/draft/schema.md delete mode 100644 docs/draft/search.md delete mode 100644 docs/draft/utility.md diff --git a/docs/draft/collection.md b/docs/draft/collection.md deleted file mode 100644 index b98253e7a..000000000 --- a/docs/draft/collection.md +++ /dev/null @@ -1,62 +0,0 @@ -#### pymilvus.Collection - ---- - - - -##### Accessing and constructing collection - -| Methods | Descriptions | 参数 | 返回值 | -| -------------------------------------------------- | :------------------------------------------- | ------------------------------------------------------------ | -------------- | -| Collection(name, data=None, schema=None, **kwargs) | 创建Collection,如果不存在同名的,则新建一个 | name 类型 string<br />data 类型是 pandas.DataFrame<br />schema 类型 是CollectionSchema<br />kwargs 可传入参数是 primary_key = field_name | Collection对象 | -| | | | | - - - -##### Manipulating and querying collection meta - -| Properties | Descriptions | 参数 | 返回值 | -| ----------------------- | ----------------------------- | ---- | ----------------------- | -| Collection.schema | Return the collection schema. | / | CollectionSchema 对象 | -| Collection.description | 返回自定义描述 | / | 类型 string,自定义描述 | -| Collection.name | 返回collection名字 | / | 类型 string, 名字 | -| Collection.is_empty | 是否为空 | / | 类型 boolean | -| Collection.num_entities | 返回行数 | / | 类型int | - - - -##### Manipulating, loading, and querying collection - -| Methods | Descriptions | 参数 | 返回值 | -| ------------------------------------------------------------ | ------------------------------------------------------------ | ------------------------------------------------------------ | ------------------------------------------------------------ | -| Collection.drop(**kwargs) | Drop the collection, as well as its indexes. | kwargs reversed.目前为空 | None 或 Raise Exception | -| Collection.load(field_names=None, index_names=None, partition_names=None, **kwargs) | Load the collection from disk to memory. | field_names 类型是 list(string)<br />index_names 类型是 list(string)<br />partitions_names 类型是 list(string)<br />kwargs reversed.目前为空 | None或者Raise Exception | -| Collection.release(**kwargs) | Release the collection from memory. | kwargs reversed.目前为空 | None或者Raise Exception | -| Collection.insert(data, partition_name="", **kwargs) | Insert data into the collection, or into one of its partitions. | data 类型是 list-like(list, tuple) 对象或者pandas.DataFrame,data的维度需要和列的数目对齐<br />partition_name 类型是 string<br />kwargs可以是 _async=False, _callback | ids 类型是 list(int) or list(string)<br />或者 MutationFuture 或者Raise Exception | -| Collection.search(data, anns_field, params, limit, expr="", partition_names=None, output_fields=None, **kwargs) | Vector similarity search with an optional boolean expression as filters. | data是 list-like(list, tuple) 或者 pd.Series<br />anns_field 类型是 string, 表示在哪个列上进行向量的近似查询<br />params 类型是 dict<br />limit 类型是 int <br />expr 类型是string<br />partitions_names类型是 list(string)<br />output_fields类型是list(string)<br />kwargs 可以是 async=False | SearchResultFuture或者 SearchResult 或者Raise Exception | -| Collection.query(expr="", output_fields=None, partition_names=None) | Query with a set of criteria, and results in a list of records that match the query exactly. | expr 类型是string<br />output_fields 类型是 list(string), 表示要返回哪些列的原始数据<br />partitions_names类型是 list(string) | dict 或者Raise Exception | - - - -##### Accessing and constructing partition - -| Methods | Descriptions | 参数 | 返回值 | -| ---------------------------------------------------------- | ----------------------------------------------------- | -------------------------- | -------------------------------- | -| Collection.partitions | Return all partitions of the collection. | / | list(Partition对象) | -| Collection.partition(partition_name) | Return the partition corresponding to name. | partition_name类型是string | None或者Partition对象 | -| Collection.create_partition(partition_name, desription="") | Create a new one if not existed. | | Partition对象或者Raise Exception | -| Collection.has_partition(partition_name) | Checks if a specified partition exists. | partition_name类型是string | boolean | -| Collection.drop_partition(partition_name, **kwargs) | Drop the partition and its corresponding index files. | partition_name类型是string | None或者Raise Exception | - - - -##### Accessing and constructing index - -| Methods | Descriptions | 参数 | 返回值 | -| ------------------------------------------------------------ | ------------------------------------------------------------ | ------------------------------------------------------------ | ----------------------------- | -| Collection.indexes | Return all indexes of the collection. | / | list(Index对象) | -| Collection.index(index_name) | Return the index corresponding to name. | index_name类型是 string | None或者Index对象 | -| Collection.has_index(index_name) | Checks whether a specified index exists. | index_name类型是 string | bool | -| Collection.create_index(field_name, index_name, index_params, **kwargs) | Create index on a specified column according to the index parameters. Return Index Object. | field_name类型是string<br />index_params类型是dict<br />index_name类型是 string | Index对象或者 Raise Exception | -| Collection.drop_index(index_name, **kwargs) | Drop index and its corresponding index files. | index_name类型是string | None或者Raise Exception | - diff --git a/docs/draft/connections.md b/docs/draft/connections.md deleted file mode 100644 index fd9bc2d04..000000000 --- a/docs/draft/connections.md +++ /dev/null @@ -1,7 +0,0 @@ -| Methods | Descriptions | 参数 | 返回值 | -| ---------------------------------------------- | :------------------------------- | ------------------------------------------------------------ | ----------------------- | -| Connections.configure(**kwargs) | Configure connections. | milvus 客户端连接相关配置,包括 ip,port 等; | None或Raise Exception | -| Connections.add_connection(alias, conn) | Add a connection using alias. | alias:待添加的 milvus 客户端连接 conn 的别名,conn:milvus 客户端连接; | None 或 Raise Exception | -| Connections.remove_connection(alias) | Remove a connection by alias. | alias:待删除的 milvus 客户端连接别名; | None 或 Raise Exception | -| Connections.create_connection(alias, **kwargs) | Create a connection named alias. | alias:待创建的 milvus 客户端连接别名,kwargs:客户端连接配置,包括 ip,port 等; | None 或 Raise Exception | -| Connections.get_connection(alias) | Get a connection by alias. | alias:待使用的 milvus 客户端连接别名; | milvus 客户端连接 | diff --git a/docs/draft/index.md b/docs/draft/index.md deleted file mode 100644 index 3d6c91c98..000000000 --- a/docs/draft/index.md +++ /dev/null @@ -1,19 +0,0 @@ -#### pymilvus.Index - ---- - -##### Accessing and constructing Index - -| Methods | Descriptions | 参数 | 返回值 | -| ---------------------------------------------------- | ------------------------------------------------------------ | ------------------------------------------------------------ | ---------------------------- | -| Index(collection, field_name, index_params, name="") | Create index on a specified column according to the index parameters. | collection类型是 Collection<br />name 类型是 string<br />field_name 类型是 string<br />index_params 类型是 dict | Index 对象或者 Raise Exception | -| Index.name | Return the index name. | / | string | -| Index.params | Return the index params. | / | dict (克隆) | -| Index.collection_name | Return corresponding collection name. | / | string | -| Index.field_name | Return corresponding column name. | / | string | - -##### Manipulating - -| Methods | Descriptions | 参数 | 返回值 | -| ------------ | --------------------------------------------- | ---- | ----------------------- | -| Index.drop() | Drop index and its corresponding index files. | / | None 或者 Raise Exception | diff --git a/docs/draft/partition.md b/docs/draft/partition.md deleted file mode 100644 index 5aa033229..000000000 --- a/docs/draft/partition.md +++ /dev/null @@ -1,26 +0,0 @@ -#### pymilvus.Partition - ---- - -##### Manipulating and querying partition meta - -| Methods | Descriptions | 参数 | 返回值 | -| ------------------------------------------- | -------------------------------------- | ---- | ------- | -| Partition(collection, name, description="") | collection类型是 Collection<br /> | | | -| Partition.description | Return the description text. | / | string | -| Partition.name | Return the partition name. | / | string | -| Partition.is_empty | Return whether the partition is empty. | / | boolean | -| Partition.num_entities | Return the number of entities. | / | int | - -##### Manipulating, loading, and querying partition - -| Methods | Descriptions | 参数 | 返回值 | -| ------------------------------------------------------------ | ------------------------------------------------------------ | ------------------------------------------------------------ | ------------------------------------------------------- | -| Partition.drop(**kwargs) | Drop the partition, as well as its corresponding index files. | kwargs reversed.目前为空 | None或者Raise Exception | -| Partition.load(field_names=None, index_names=None, **kwargs) | Load the partition from disk to memory. | field_names 类型是list(string)<br />index_names类型是list(string)<br />kwargs reversed.目前为空 | None或者Raise Exception | -| Partition.release(**kwargs) | Release the partition from memory. | kwargs reversed.目前为空 | None或者Raise Exception | -| Partition.insert(data, **kwargs) | Insert data into partition. | data 类型是list-like(list, tuple, numpy.ndarray) 对象或者pandas.DataFrame,data的维度需要和列的数目对齐<br />kwargs可以是 sync=False | None或者InsertFuture或者Raise Exception | -| Partition.search(data, anns_field, params, limit, expr=None, output_fields=None, **kwargs) | Vector similarity search with an optional boolean expression as filters. | data是 list-like(list, tuple),或者pd.Series <br />anns_field 类型是 string, 表示在哪个列上进行向量的近似查询<br />params 类型是 dict<br /><br />limit 类型是 int <br />expr 类型是string<br />output_fields类型是list(string)<br />kwargs 可以是 async=False | SearchResultFuture或者 SearchResult 或者Raise Exception | -| Partition.query(expr="", output_fields=None) | Query with a set of criteria, and results in a list of records that match the query exactly. | expr 类型是string<br />output_fields 类型是 list(string), 表示要返回哪些列的原始数据 | dict 或者Raise Exception | - - diff --git a/docs/draft/schema.md b/docs/draft/schema.md deleted file mode 100644 index 401e62797..000000000 --- a/docs/draft/schema.md +++ /dev/null @@ -1,58 +0,0 @@ -### CollectionSchema - -| Methods | Descriptions | 参数描述 | 返回值 | -| -------------------- | -------------------------------------- | -------------------- | -------------------- | -| CollectionSchema(fields, description="", **kwargs) | 构造一个CollectionSchema对象 | 参数fields是一个 list-like的对象,每个元素是FieldSchema对象<br />description 类型 string 自定义描述 | CollectionSchema对象或者Raise Exception | -| CollectionSchema.fields | 返回所有的列 | / | list,每个元素是一个 FieldSchema 对象 | -| CollectionSchema.description | 返回自定义描述 | / | string 自定义描述 | -| CollectionSchema.primary_field | 返回主键列的FieldSchema | / | None 或 FieldSchema 对象 | -| CollectionSchema.auto_id | 是否自动生成主键 | / | bool | -| | | | | - - - -### FieldSchema - - - -| Methods | Descriptions | 参数描述 | 返回值 | -| --------------------------------------------------- | ----------------------- | ------------------------------------------------------------ | ------------------------------------------ | -| FieldSchema(name, dtype, description="", **kwargs) | 构造一个FieldScheam对象 | name 参数类型是string<br />dtype参数类型是 名为 DataType 的 python enum<br />description 类型是 string,自定义描述 | FieldScheam对象或者Raise Exception | -| | | | | -| FieldSchema.name | 列名 | / | string | -| FieldSchema.dtype | 返回数据类型 | / | DataType | -| FieldSchema.description | 返回自定义描述 | / | string, 自定义描述 | -| FieldSchema.xxx | 其他属性 | / | None 或者确定的值<br />比如ndim, str_len等 | - - - -#### DataType - - -| DataType Enum | -| ----------------------- | -| DataType.BOOL | -| DataType.INT8 | -| DataType.INT16 | -| DataType.INT32 | -| DataType.INT64 | -| DataType.FLOAT | -| DataType.DOUBLE | -| DataType.BINARY_VECTOR | -| DataType.FLOAT_VECTOR | - - - -### 例子 - -```python -fields = [ - FieldSchema("A", DataType.INT32, True), - FieldSchema("B", DataType.INT64), - FieldSchema("C", DataType.FLOAT), - FieldSchema("Vec", DataType.FLOAT_VECTOR)] - -schema = Schema(fields, description = "This is a test collection.") - -assert len(schema.fields()) == len(fields) -``` diff --git a/docs/draft/search.md b/docs/draft/search.md deleted file mode 100644 index ff9cb591f..000000000 --- a/docs/draft/search.md +++ /dev/null @@ -1,29 +0,0 @@ - -| Methods | Descriptions | 参数 | 返回值 | -| --------------------------- | ------------------------------------------------------------ | ------------------------ | ----------------------- | -| SearchResult(grpc_response) | Construct a Search Result from response. | 内部构造函数,用户用不到 | SearchResult对象 | -| SearchResult.__iter__() | Iterate the Search Result. Every iteration returns a `Hits` coresponding to a query. | / | python generator | -| SearchResult[n] | Return the `Hits` coresponding to the nth query. | int | Hits对象 | -| SearchResult.__len__() | Return the number of query of Search Result. | / | int | -| SearchResult.done() | 同步等待结果,幂等操作 | / | None或者Raise Exception | - - -| Methods | Descriptions | 参数 | 返回值 | -| ---------------- | ------------------------------------------------------------ | -------------- | --------------------------------- | -| Hits(raw_data) | Construct a Hits object from response. | | Hits对象 | -| Hits.__iter__() | Iterate the `Hits` object. Every iteration returns a `Hit` which represent a record coresponding to the query. | | python迭代器,每次迭代返回Hit对象 | -| Hits[k] | Return the kth `Hit` coresponding to the query. | 参数k 类型 int | Hit对象 | -| Hits.__len__() | Return the number of hit record. | / | int | -| Hits.ids | Return the ids of all hit record. | / | list(int)或者list(string) | -| Hits.distances | Return the distances of all hit record. | / | list(float) | - - -| Methods | Descriptions | 参数 | 返回值 | -| -------------- | ------------------------------------------------------------ | ---- | ----------- | -| Hit(raw_data) | Construct a Hit object from response. A hit represent a record coresponding to the query. | | Hit对象 | -| Hit.id | Return the id of the hit record. | / | int /string | -| Hit.distance | Return the distance between the hit record and the query. | / | float | -| Hit.score | Return the calculated score of the hit record, now the score is equal to distance. | / | float | - - - diff --git a/docs/draft/utility.md b/docs/draft/utility.md deleted file mode 100644 index caa864c51..000000000 --- a/docs/draft/utility.md +++ /dev/null @@ -1,18 +0,0 @@ -#### pymilvus.utility - ---- - - - -##### Checking job states - -| Methods | Description | 参数 | 返回值 | -| ------------------------------------------------------------ | ------------------------------------------------------------ | ------------------------------------------------------------ | ------------------------------------------------------------ | -| utility.loading_progress(collection_name, partition_names=[], using="default") | Show # loaded entities vs. # total entities | collection_name 类型是string<br />partition_names 类型是 list | dict{<br />num_loaded_entities: int,<br />num_total_entities:int} | -| utility.wait_for_loading_complete(collection_name, partition_names=[], timeout=None,using="default") | Block until loading is done or Raise Exception after timeout. | collection_name 类型是 string<br />partition_names 类型是 list | None或Raise Exception | -| utility.index_building_progress(collection_name, index_name="",using="default") | Show # indexed entities vs. # total entities | collection_name 类型是 string<br />index_name 类型是 string | dict{<br />num_indexed_entities: int,<br />num_total_entities:int} | -| utility.wait_for_index_building_complete(collection_name, index_name, timeout = None,using="default") | Block until building is done or Raise Exception after timeout. | collection_name 类型是string<br />partition_name 类型是 string<br />timeout 类型是 int (秒) | None或Raise Exception | -| utility.has_collection(collection_name,using="default") | Checks whether a specified collection exists. | collection_name 类型是string | boolean | -| utility.has_partition(collecton_name, partition_name,using="default") | Checks if a specified partition exists in a collection. | collection_name 类型是string<br />partition_name 类型是 string | boolean | -| utility.list_collections(timeout=None, using="default") | Returns a list of all collection names | | list(string) | - From 9d3c7ad2fcf877d3b65b38055559f9224ae0010e Mon Sep 17 00:00:00 2001 From: "zhenshan.cao" <zhenshan.cao@zilliz.com> Date: Wed, 20 Oct 2021 10:32:29 +0800 Subject: [PATCH 10/21] Add travel_timestamp parameter to search method (#773) Signed-off-by: zhenshan.cao <zhenshan.cao@zilliz.com> --- pymilvus/client/prepare.py | 16 ++++++++++------ pymilvus/client/stub.py | 5 ++++- pymilvus/orm/collection.py | 3 +++ pymilvus/orm/partition.py | 3 +++ 4 files changed, 20 insertions(+), 7 deletions(-) diff --git a/pymilvus/client/prepare.py b/pymilvus/client/prepare.py index c5e72c562..15d58724e 100644 --- a/pymilvus/client/prepare.py +++ b/pymilvus/client/prepare.py @@ -410,7 +410,7 @@ def divide_search_request(cls, collection_name, query_entities, partition_names= vector_placeholders = dict() vector_names = dict() - meta = {} # TODO: ugly here, find a better method + meta = {} # TODO: ugly here, find a better method def extract_vectors_param(param, placeholders, meta=None, names=None, round_decimal=-1): if not isinstance(param, (dict, list)): @@ -456,7 +456,7 @@ def extract_vectors_param(param, placeholders, meta=None, names=None, round_deci requests = [] factor = 10 - topk = meta.get("topk", 100) # TODO: ugly here, find a better method + topk = meta.get("topk", 100) # TODO: ugly here, find a better method for tag, vectors in vector_placeholders.items(): if len(vectors) <= 0: continue @@ -502,7 +502,8 @@ def extract_vectors_param(param, placeholders, meta=None, names=None, round_deci return requests @classmethod - def search_request(cls, collection_name, query_entities, partition_names=None, fields=None, round_decimal=-1, **kwargs): + def search_request(cls, collection_name, query_entities, partition_names=None, fields=None, round_decimal=-1, + **kwargs): schema = kwargs.get("schema", None) fields_schema = schema.get("fields", None) # list fields_name_locs = {fields_schema[loc]["name"]: loc @@ -511,7 +512,7 @@ def search_request(cls, collection_name, query_entities, partition_names=None, f if not isinstance(query_entities, (dict,)): raise ParamError("Invalid query format. 'query_entities' must be a dict") - if fields is not None and not isinstance(fields, (list, )): + if fields is not None and not isinstance(fields, (list,)): raise ParamError("Invalid query format. 'fields' must be a list") request = milvus_types.SearchRequest( @@ -627,7 +628,8 @@ def search_requests_with_expr(cls, collection_name, data, anns_field, param, lim params = param_copy.pop("params", {}) if not isinstance(params, dict): raise ParamError("Search params must be a dict") - search_params = {"anns_field": anns_field, "topk": limit, "metric_type": metric_type, "params": params, "round_decimal": round_decimal} + search_params = {"anns_field": anns_field, "topk": limit, "metric_type": metric_type, "params": params, + "round_decimal": round_decimal} def dump(v): if isinstance(v, dict): @@ -643,6 +645,7 @@ def dump(v): partition_names=partition_names, output_fields=output_fields, guarantee_timestamp=kwargs.get("guarantee_timestamp", 0), + travel_timestamp=kwargs.get("travel_timestamp", 0), ) request.placeholder_group = plg_str @@ -853,7 +856,8 @@ def extract_vectors(vectors, request_op, is_left): type_left, dim_left = extract_vectors(vectors_left, request.op_left, True) type_right, dim_right = extract_vectors(vectors_right, request.op_right, False) - if (type_left == _TYPE_FLOAT and type_right == _TYPE_BIN) or (type_left == _TYPE_BIN and type_right == _TYPE_FLOAT): + if (type_left == _TYPE_FLOAT and type_right == _TYPE_BIN) or ( + type_left == _TYPE_BIN and type_right == _TYPE_FLOAT): raise ParamError("Cannot calculate distance between float vectors and binary vectors") if (type_left != _TYPE_IDS and type_right != _TYPE_IDS) and dim_left != dim_right: diff --git a/pymilvus/client/stub.py b/pymilvus/client/stub.py index fd9ee6080..baee8da23 100644 --- a/pymilvus/client/stub.py +++ b/pymilvus/client/stub.py @@ -959,7 +959,7 @@ def delete(self, collection_name, expr, partition_name=None, timeout=None, **kwa """ check_pass_param(collection_name=collection_name) with self._connection() as handler: - return handler.delete(collection_name, expr, partition_name, timeout, **kwargs) + return handler.delete(collection_name, expr, partition_name, timeout, **kwargs) @retry_on_rpc_failure(retry_times=10, wait=1) def flush(self, collection_names=None, timeout=None, **kwargs): @@ -1047,6 +1047,9 @@ def search(self, collection_name, data, anns_field, param, limit, expression=Non * *guarantee_timestamp* (``int``) -- This function instructs Milvus to see all operations performed before a provided timestamp. If no such timestamp is provided, then Milvus will search all operations performed to date. + * *travel_timestamp* (``int``) -- + Users can specify a timestamp in a search to get results based on a data view + at a specified point in time. :return: Query result. QueryResult is iterable and is a 2d-array-like class, the first dimension is the number of vectors to query (nq), the second dimension is the number of limit(topk). diff --git a/pymilvus/orm/collection.py b/pymilvus/orm/collection.py index f71fafdcd..728f61bfb 100644 --- a/pymilvus/orm/collection.py +++ b/pymilvus/orm/collection.py @@ -619,6 +619,9 @@ def search(self, data, anns_field, param, limit, expr=None, partition_names=None * *guarantee_timestamp* (``int``) -- This function instructs Milvus to see all operations performed before a provided timestamp. If no such timestamp is provided, then Milvus will search all operations performed to date. + * *travel_timestamp* (``int``) -- + Users can specify a timestamp in a search to get results based on a data view + at a specified point in time. :return: SearchResult: SearchResult is iterable and is a 2d-array-like class, the first dimension is diff --git a/pymilvus/orm/partition.py b/pymilvus/orm/partition.py index 44a4d59a9..db07fe1c6 100644 --- a/pymilvus/orm/partition.py +++ b/pymilvus/orm/partition.py @@ -357,6 +357,9 @@ def search(self, data, anns_field, param, limit, expr=None, output_fields=None, * *guarantee_timestamp* (``function``) -- This function instructs Milvus to see all operations performed before a provided timestamp. If no such timestamp is provided, then Milvus will search all operations performed to date. + * *travel_timestamp* (``int``) -- + Users can specify a timestamp in a search to get results based on a data view + at a specified point in time. :return: SearchResult: SearchResult is iterable and is a 2d-array-like class, the first dimension is From 3e0963ec68e6da759170b2fea5eed46d5cd456aa Mon Sep 17 00:00:00 2001 From: Xiangyu Wang <xiangyu.wang@zilliz.com> Date: Wed, 20 Oct 2021 12:18:29 +0800 Subject: [PATCH 11/21] Enable delete function (#774) Signed-off-by: Xiangyu Wang <xiangyu.wang@zilliz.com> --- pymilvus/client/grpc_handler.py | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/pymilvus/client/grpc_handler.py b/pymilvus/client/grpc_handler.py index ed5ff1714..93f1f754f 100644 --- a/pymilvus/client/grpc_handler.py +++ b/pymilvus/client/grpc_handler.py @@ -518,9 +518,7 @@ def delete(self, collection_name, expression, partition_name=None, timeout=None, except Exception as err: if kwargs.get("_async", False): return MutationFuture(None, None, err) - finally: - # once delete api is finished, remove this error - raise NotImplementedError("Delete function is not implemented") + return err def _prepare_search_request(self, collection_name, query_entities, partition_names=None, fields=None, timeout=None, round_decimal=-1, **kwargs): From 5c41f4485eb2c57ad2a1cfecd852e2ffbf589db4 Mon Sep 17 00:00:00 2001 From: groot <yihua.mo@zilliz.com> Date: Thu, 21 Oct 2021 16:44:29 +0800 Subject: [PATCH 12/21] Fix #10271 (#777) Signed-off-by: yhmo <yihua.mo@zilliz.com> --- pymilvus/client/grpc_handler.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pymilvus/client/grpc_handler.py b/pymilvus/client/grpc_handler.py index 93f1f754f..60d7cb48e 100644 --- a/pymilvus/client/grpc_handler.py +++ b/pymilvus/client/grpc_handler.py @@ -518,7 +518,7 @@ def delete(self, collection_name, expression, partition_name=None, timeout=None, except Exception as err: if kwargs.get("_async", False): return MutationFuture(None, None, err) - return err + raise err def _prepare_search_request(self, collection_name, query_entities, partition_names=None, fields=None, timeout=None, round_decimal=-1, **kwargs): From 97fe6f76cc7ca4f61fc1c29b5148de102fa1e110 Mon Sep 17 00:00:00 2001 From: jingkl <34296482+jingkl@users.noreply.github.com> Date: Fri, 22 Oct 2021 11:25:02 +0800 Subject: [PATCH 13/21] remove examples/connections.py (#776) Signed-off-by: jingkl <jingjing.jia@zilliz.com> --- examples/connections.py | 29 ----------------------------- 1 file changed, 29 deletions(-) delete mode 100644 examples/connections.py diff --git a/examples/connections.py b/examples/connections.py deleted file mode 100644 index 936c97030..000000000 --- a/examples/connections.py +++ /dev/null @@ -1,29 +0,0 @@ -# Copyright (C) 2019-2020 Zilliz. All rights reserved. -# -# 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. - -import logging - -try: - from pymilvus import connections -except ImportError: - from os.path import dirname, abspath - import sys - - sys.path.append(dirname(dirname(abspath(__file__)))) - - from pymilvus import connections - -LOGGER = logging.getLogger(__name__) - -print("start connection") -conn = connections.connect() -LOGGER.info(conn.list_collections()) -print("end connection") From ba2323d6605aea7c2565f8ddfbea02ab3c7b6c2a Mon Sep 17 00:00:00 2001 From: bigsheeper <yihao.dai@zilliz.com> Date: Mon, 25 Oct 2021 11:35:06 +0800 Subject: [PATCH 14/21] Add get_query_segment_info (#772) Signed-off-by: bigsheeper <yihao.dai@zilliz.com> --- docs/source/api/utility.rst | 4 +++- pymilvus/__init__.py | 1 + pymilvus/client/stub.py | 16 ++++++++++++++++ pymilvus/orm/utility.py | 21 +++++++++++++++++++++ 4 files changed, 41 insertions(+), 1 deletion(-) diff --git a/docs/source/api/utility.rst b/docs/source/api/utility.rst index 9adcf452f..7a648e793 100644 --- a/docs/source/api/utility.rst +++ b/docs/source/api/utility.rst @@ -28,6 +28,8 @@ Methods +--------------------------------------------------------------------------------------------------------------------------------+-----------------------------------------------+ | `calc_distance(vectors_left, vectors_right, params, [timeout, using]) <#pymilvus.utility.calc_distance>`_ | Calculate distance between two vector arrays. | +--------------------------------------------------------------------------------------------------------------------------------+-----------------------------------------------+ +| `get_query_segment_info([timeout, using]) <#pymilvus.utility.get_query_segment_info>`_ | Get segments information from query nodes. | ++--------------------------------------------------------------------------------------------------------------------------------+-----------------------------------------------+ APIs References --------------- @@ -36,4 +38,4 @@ APIs References :member-order: bysource :members: loading_progress, wait_for_loading_complete, index_building_progress, wait_for_index_building_complete, has_collection, has_partition, list_collections, - drop_collection, calc_distance + drop_collection, calc_distance, get_query_segment_info diff --git a/pymilvus/__init__.py b/pymilvus/__init__.py index bfde66641..7823edb77 100644 --- a/pymilvus/__init__.py +++ b/pymilvus/__init__.py @@ -41,6 +41,7 @@ has_partition, list_collections, drop_collection, + get_query_segment_info, ) from .orm import utility diff --git a/pymilvus/client/stub.py b/pymilvus/client/stub.py index baee8da23..e41eb0e5a 100644 --- a/pymilvus/client/stub.py +++ b/pymilvus/client/stub.py @@ -1120,6 +1120,22 @@ def calc_distance(self, vectors_left, vectors_right, params=None, timeout=None, with self._connection() as handler: return handler.calc_distance(vectors_left, vectors_right, params, timeout, **kwargs) + @retry_on_rpc_failure(retry_times=10, wait=1) + def get_query_segment_info(self, timeout=None, **kwargs): + """ + Notifies Proxy to return segments information from query nodes. + + :param timeout: An optional duration of time in seconds to allow for the RPC. When timeout + is set to None, client waits until server response or error occur. + :type timeout: float + + :return: QuerySegmentInfo: + QuerySegmentInfo is the growing segments's information in query cluster. + :rtype: QuerySegmentInfo + """ + with self._connection() as handler: + return handler.get_query_segment_infos(timeout, **kwargs) + @retry_on_rpc_failure(retry_times=10, wait=1) def load_collection_progress(self, collection_name, timeout=None): with self._connection() as handler: diff --git a/pymilvus/orm/utility.py b/pymilvus/orm/utility.py index a55178b7e..d1c9a675b 100644 --- a/pymilvus/orm/utility.py +++ b/pymilvus/orm/utility.py @@ -370,3 +370,24 @@ def vector_count(op): for i in range(n): res_2_d.append(res[i * m:i * m + m]) return res_2_d + +def get_query_segment_info(timeout=None, using="default"): + """ + Notifies Proxy to return segments information from query nodes. + + :param timeout: An optional duration of time in seconds to allow for the RPC. When timeout + is set to None, client waits until server response or error occur. + :type timeout: float + + :return: QuerySegmentInfo: + QuerySegmentInfo is the growing segments's information in query cluster. + :rtype: QuerySegmentInfo + + :example: + >>> from pymilvus import connections, utility + >>> + >>> connections.connect() + >>> + >>> res = utility.get_query_segment_info() + """ + return _get_connection(using).get_query_segment_info() From 751d25ba93b057e8109b5eb8e955bbca6b50cb19 Mon Sep 17 00:00:00 2001 From: Cai Yudong <yudong.cai@zilliz.com> Date: Mon, 25 Oct 2021 19:23:04 +0800 Subject: [PATCH 15/21] Throw exception when delete with invalid partition name (#780) Signed-off-by: yudong.cai <yudong.cai@zilliz.com> --- pymilvus/client/prepare.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pymilvus/client/prepare.py b/pymilvus/client/prepare.py index 15d58724e..05ea95930 100644 --- a/pymilvus/client/prepare.py +++ b/pymilvus/client/prepare.py @@ -369,10 +369,10 @@ def check_str(instr, prefix): raise ParamError(prefix + " cannot be empty") check_str(collection_name, "collection_name") + if partition_name != "": + check_str(partition_name, "partition_name") check_str(expr, "expr") - # if partition_name is null or empty, delete action will apply to whole collection - partition_name = partition_name or "" request = milvus_types.DeleteRequest(collection_name=collection_name, expr=expr, partition_name=partition_name) return request From 3168b2595ebb79c8adb41befa7810961feaa9fa9 Mon Sep 17 00:00:00 2001 From: godchen <qingxiang.chen@zilliz.com> Date: Mon, 25 Oct 2021 22:22:12 +0800 Subject: [PATCH 16/21] Remove insert request hash values (#782) Signed-off-by: godchen <qingxiang.chen@zilliz.com> --- pymilvus/client/prepare.py | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/pymilvus/client/prepare.py b/pymilvus/client/prepare.py index 05ea95930..d29e02335 100644 --- a/pymilvus/client/prepare.py +++ b/pymilvus/client/prepare.py @@ -348,12 +348,8 @@ def bulk_insert_param(cls, collection_name, entities, partition_name, fields_inf insert_request.num_rows = row_num - # generate hash keys, TODO: better hash function - if not fields_info[primary_key_loc].get("auto_id", False): - field_name = fields_info[primary_key_loc].get("name") - entity_loc = location[field_name] - hash_keys = [abs(mmh3.hash(str(e))) for e in entities[entity_loc].get("values")] - insert_request.hash_keys.extend(hash_keys) + # insert_request.hash_keys won't be filled in client. + # It will be filled in proxy. return insert_request From 2fe215f1c3dab95b9624642befd292a37892e5f2 Mon Sep 17 00:00:00 2001 From: Cai Yudong <yudong.cai@zilliz.com> Date: Tue, 26 Oct 2021 14:54:12 +0800 Subject: [PATCH 17/21] Skip validation check when partition name is None (#783) Signed-off-by: yudong.cai <yudong.cai@zilliz.com> --- pymilvus/client/prepare.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pymilvus/client/prepare.py b/pymilvus/client/prepare.py index d29e02335..d949dc912 100644 --- a/pymilvus/client/prepare.py +++ b/pymilvus/client/prepare.py @@ -365,8 +365,8 @@ def check_str(instr, prefix): raise ParamError(prefix + " cannot be empty") check_str(collection_name, "collection_name") - if partition_name != "": - check_str(partition_name, "partition_name") + if partition_name is not None and partition_name != "": + check_str(partition_name, "partition_name") check_str(expr, "expr") request = milvus_types.DeleteRequest(collection_name=collection_name, expr=expr, partition_name=partition_name) From d927516c0c2b48b84275dcaac7897274e1cb4779 Mon Sep 17 00:00:00 2001 From: Cai Yudong <yudong.cai@zilliz.com> Date: Tue, 26 Oct 2021 18:12:14 +0800 Subject: [PATCH 18/21] Disable delete function (#784) This reverts commit 3e0963ec68e6da759170b2fea5eed46d5cd456aa. Signed-off-by: yudong.cai <yudong.cai@zilliz.com> --- pymilvus/client/grpc_handler.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pymilvus/client/grpc_handler.py b/pymilvus/client/grpc_handler.py index 60d7cb48e..687644023 100644 --- a/pymilvus/client/grpc_handler.py +++ b/pymilvus/client/grpc_handler.py @@ -519,6 +519,9 @@ def delete(self, collection_name, expression, partition_name=None, timeout=None, if kwargs.get("_async", False): return MutationFuture(None, None, err) raise err + finally: + # once delete api is finished, remove this error + raise NotImplementedError("Delete function is not implemented") def _prepare_search_request(self, collection_name, query_entities, partition_names=None, fields=None, timeout=None, round_decimal=-1, **kwargs): From 49f68e76dd706fdda904d4d1a630a4f47600b4df Mon Sep 17 00:00:00 2001 From: xige-16 <xi.ge@zilliz.com> Date: Tue, 26 Oct 2021 20:30:36 +0800 Subject: [PATCH 19/21] Get qyery segment info from specified collection (#785) Signed-off-by: xige-16 <xi.ge@zilliz.com> --- pymilvus/client/stub.py | 5 +++-- pymilvus/orm/utility.py | 24 +++++++++++++++++------- 2 files changed, 20 insertions(+), 9 deletions(-) diff --git a/pymilvus/client/stub.py b/pymilvus/client/stub.py index e41eb0e5a..5e7d9c9fd 100644 --- a/pymilvus/client/stub.py +++ b/pymilvus/client/stub.py @@ -1121,10 +1121,11 @@ def calc_distance(self, vectors_left, vectors_right, params=None, timeout=None, return handler.calc_distance(vectors_left, vectors_right, params, timeout, **kwargs) @retry_on_rpc_failure(retry_times=10, wait=1) - def get_query_segment_info(self, timeout=None, **kwargs): + def get_query_segment_info(self, collection_name, timeout=None, **kwargs): """ Notifies Proxy to return segments information from query nodes. + :param collection_name: The name of the collection to get segments info. :param timeout: An optional duration of time in seconds to allow for the RPC. When timeout is set to None, client waits until server response or error occur. :type timeout: float @@ -1134,7 +1135,7 @@ def get_query_segment_info(self, timeout=None, **kwargs): :rtype: QuerySegmentInfo """ with self._connection() as handler: - return handler.get_query_segment_infos(timeout, **kwargs) + return handler.get_query_segment_infos(collection_name, timeout, **kwargs) @retry_on_rpc_failure(retry_times=10, wait=1) def load_collection_progress(self, collection_name, timeout=None): diff --git a/pymilvus/orm/utility.py b/pymilvus/orm/utility.py index d1c9a675b..b69f7fa93 100644 --- a/pymilvus/orm/utility.py +++ b/pymilvus/orm/utility.py @@ -371,10 +371,11 @@ def vector_count(op): res_2_d.append(res[i * m:i * m + m]) return res_2_d -def get_query_segment_info(timeout=None, using="default"): +def get_query_segment_info(collection_name, timeout=None, using="default"): """ Notifies Proxy to return segments information from query nodes. + :param collection_name: A string representing the collection to get segments info. :param timeout: An optional duration of time in seconds to allow for the RPC. When timeout is set to None, client waits until server response or error occur. :type timeout: float @@ -384,10 +385,19 @@ def get_query_segment_info(timeout=None, using="default"): :rtype: QuerySegmentInfo :example: - >>> from pymilvus import connections, utility - >>> - >>> connections.connect() - >>> - >>> res = utility.get_query_segment_info() + >>> from pymilvus import Collection, FieldSchema, CollectionSchema, DataType, connections, utility + >>> connections.connect(alias="default") + >>> _DIM = 128 + >>> field_int64 = FieldSchema("int64", DataType.INT64, description="int64", is_primary=True) + >>> field_float_vector = FieldSchema("float_vector", DataType.FLOAT_VECTOR, description="float_vector", is_primary=False, dim=_DIM) + >>> schema = CollectionSchema(fields=[field_int64, field_float_vector], description="get collection entities num") + >>> collection = Collection(name="test_get_segment_info", schema=schema) + >>> import pandas as pd + >>> int64_series = pd.Series(data=list(range(10, 20)), index=list(range(10)))i + >>> float_vector_series = [[random.random() for _ in range _DIM] for _ in range (10)] + >>> data = pd.DataFrame({"int64" : int64_series, "float_vector": float_vector_series}) + >>> collection.insert(data) + >>> collection.load() # load collection to memory + >>> res = utility.get_query_segment_info("test_get_segment_info") """ - return _get_connection(using).get_query_segment_info() + return _get_connection(using).get_query_segment_info(collection_name, timeout=timeout) From abb9764b7ac4cd71ed681603a0776c47668c20f1 Mon Sep 17 00:00:00 2001 From: xige-16 <xi.ge@zilliz.com> Date: Wed, 27 Oct 2021 13:24:13 +0800 Subject: [PATCH 20/21] Retruen segment state when get query segment info (#786) Signed-off-by: xige-16 <xi.ge@zilliz.com> --- grpc-proto/gen/milvus_pb2.py | 67 ++++++++++++++++++++++-------------- grpc-proto/milvus.proto | 2 ++ 2 files changed, 43 insertions(+), 26 deletions(-) diff --git a/grpc-proto/gen/milvus_pb2.py b/grpc-proto/gen/milvus_pb2.py index dc4e880c9..4e18290ca 100644 --- a/grpc-proto/gen/milvus_pb2.py +++ b/grpc-proto/gen/milvus_pb2.py @@ -22,7 +22,7 @@ syntax='proto3', serialized_options=b'Z3github.com/milvus-io/milvus/internal/proto/milvuspb', create_key=_descriptor._internal_create_key, - serialized_pb=b'\n\x0cmilvus.proto\x12\x13milvus.proto.milvus\x1a\x0c\x63ommon.proto\x1a\x0cschema.proto\"y\n\x12\x43reateAliasRequest\x12*\n\x04\x62\x61se\x18\x01 \x01(\x0b\x32\x1c.milvus.proto.common.MsgBase\x12\x0f\n\x07\x64\x62_name\x18\x02 \x01(\t\x12\x17\n\x0f\x63ollection_name\x18\x03 \x01(\t\x12\r\n\x05\x61lias\x18\x04 \x01(\t\"^\n\x10\x44ropAliasRequest\x12*\n\x04\x62\x61se\x18\x01 \x01(\x0b\x32\x1c.milvus.proto.common.MsgBase\x12\x0f\n\x07\x64\x62_name\x18\x02 \x01(\t\x12\r\n\x05\x61lias\x18\x03 \x01(\t\"x\n\x11\x41lterAliasRequest\x12*\n\x04\x62\x61se\x18\x01 \x01(\x0b\x32\x1c.milvus.proto.common.MsgBase\x12\x0f\n\x07\x64\x62_name\x18\x02 \x01(\t\x12\x17\n\x0f\x63ollection_name\x18\x03 \x01(\t\x12\r\n\x05\x61lias\x18\x04 \x01(\t\"\x93\x01\n\x17\x43reateCollectionRequest\x12*\n\x04\x62\x61se\x18\x01 \x01(\x0b\x32\x1c.milvus.proto.common.MsgBase\x12\x0f\n\x07\x64\x62_name\x18\x02 \x01(\t\x12\x17\n\x0f\x63ollection_name\x18\x03 \x01(\t\x12\x0e\n\x06schema\x18\x04 \x01(\x0c\x12\x12\n\nshards_num\x18\x05 \x01(\x05\"m\n\x15\x44ropCollectionRequest\x12*\n\x04\x62\x61se\x18\x01 \x01(\x0b\x32\x1c.milvus.proto.common.MsgBase\x12\x0f\n\x07\x64\x62_name\x18\x02 \x01(\t\x12\x17\n\x0f\x63ollection_name\x18\x03 \x01(\t\"\x80\x01\n\x14HasCollectionRequest\x12*\n\x04\x62\x61se\x18\x01 \x01(\x0b\x32\x1c.milvus.proto.common.MsgBase\x12\x0f\n\x07\x64\x62_name\x18\x02 \x01(\t\x12\x17\n\x0f\x63ollection_name\x18\x03 \x01(\t\x12\x12\n\ntime_stamp\x18\x04 \x01(\x04\"J\n\x0c\x42oolResponse\x12+\n\x06status\x18\x01 \x01(\x0b\x32\x1b.milvus.proto.common.Status\x12\r\n\x05value\x18\x02 \x01(\x08\"L\n\x0eStringResponse\x12+\n\x06status\x18\x01 \x01(\x0b\x32\x1b.milvus.proto.common.Status\x12\r\n\x05value\x18\x02 \x01(\t\"\x9b\x01\n\x19\x44\x65scribeCollectionRequest\x12*\n\x04\x62\x61se\x18\x01 \x01(\x0b\x32\x1c.milvus.proto.common.MsgBase\x12\x0f\n\x07\x64\x62_name\x18\x02 \x01(\t\x12\x17\n\x0f\x63ollection_name\x18\x03 \x01(\t\x12\x14\n\x0c\x63ollectionID\x18\x04 \x01(\x03\x12\x12\n\ntime_stamp\x18\x05 \x01(\x04\"\xef\x02\n\x1a\x44\x65scribeCollectionResponse\x12+\n\x06status\x18\x01 \x01(\x0b\x32\x1b.milvus.proto.common.Status\x12\x35\n\x06schema\x18\x02 \x01(\x0b\x32%.milvus.proto.schema.CollectionSchema\x12\x14\n\x0c\x63ollectionID\x18\x03 \x01(\x03\x12\x1d\n\x15virtual_channel_names\x18\x04 \x03(\t\x12\x1e\n\x16physical_channel_names\x18\x05 \x03(\t\x12\x19\n\x11\x63reated_timestamp\x18\x06 \x01(\x04\x12\x1d\n\x15\x63reated_utc_timestamp\x18\x07 \x01(\x04\x12\x12\n\nshards_num\x18\x08 \x01(\x05\x12\x0f\n\x07\x61liases\x18\t \x03(\t\x12\x39\n\x0fstart_positions\x18\n \x03(\x0b\x32 .milvus.proto.common.KeyDataPair\"m\n\x15LoadCollectionRequest\x12*\n\x04\x62\x61se\x18\x01 \x01(\x0b\x32\x1c.milvus.proto.common.MsgBase\x12\x0f\n\x07\x64\x62_name\x18\x02 \x01(\t\x12\x17\n\x0f\x63ollection_name\x18\x03 \x01(\t\"p\n\x18ReleaseCollectionRequest\x12*\n\x04\x62\x61se\x18\x01 \x01(\x0b\x32\x1c.milvus.proto.common.MsgBase\x12\x0f\n\x07\x64\x62_name\x18\x02 \x01(\t\x12\x17\n\x0f\x63ollection_name\x18\x03 \x01(\t\"v\n\x1eGetCollectionStatisticsRequest\x12*\n\x04\x62\x61se\x18\x01 \x01(\x0b\x32\x1c.milvus.proto.common.MsgBase\x12\x0f\n\x07\x64\x62_name\x18\x02 \x01(\t\x12\x17\n\x0f\x63ollection_name\x18\x03 \x01(\t\"\x80\x01\n\x1fGetCollectionStatisticsResponse\x12+\n\x06status\x18\x01 \x01(\x0b\x32\x1b.milvus.proto.common.Status\x12\x30\n\x05stats\x18\x02 \x03(\x0b\x32!.milvus.proto.common.KeyValuePair\"\xb0\x01\n\x16ShowCollectionsRequest\x12*\n\x04\x62\x61se\x18\x01 \x01(\x0b\x32\x1c.milvus.proto.common.MsgBase\x12\x0f\n\x07\x64\x62_name\x18\x02 \x01(\t\x12\x12\n\ntime_stamp\x18\x03 \x01(\x04\x12+\n\x04type\x18\x04 \x01(\x0e\x32\x1d.milvus.proto.milvus.ShowType\x12\x18\n\x10\x63ollection_names\x18\x05 \x03(\t\"\xd2\x01\n\x17ShowCollectionsResponse\x12+\n\x06status\x18\x01 \x01(\x0b\x32\x1b.milvus.proto.common.Status\x12\x18\n\x10\x63ollection_names\x18\x02 \x03(\t\x12\x16\n\x0e\x63ollection_ids\x18\x03 \x03(\x03\x12\x1a\n\x12\x63reated_timestamps\x18\x04 \x03(\x04\x12\x1e\n\x16\x63reated_utc_timestamps\x18\x05 \x03(\x04\x12\x1c\n\x14inMemory_percentages\x18\x06 \x03(\x03\"\x86\x01\n\x16\x43reatePartitionRequest\x12*\n\x04\x62\x61se\x18\x01 \x01(\x0b\x32\x1c.milvus.proto.common.MsgBase\x12\x0f\n\x07\x64\x62_name\x18\x02 \x01(\t\x12\x17\n\x0f\x63ollection_name\x18\x03 \x01(\t\x12\x16\n\x0epartition_name\x18\x04 \x01(\t\"\x84\x01\n\x14\x44ropPartitionRequest\x12*\n\x04\x62\x61se\x18\x01 \x01(\x0b\x32\x1c.milvus.proto.common.MsgBase\x12\x0f\n\x07\x64\x62_name\x18\x02 \x01(\t\x12\x17\n\x0f\x63ollection_name\x18\x03 \x01(\t\x12\x16\n\x0epartition_name\x18\x04 \x01(\t\"\x83\x01\n\x13HasPartitionRequest\x12*\n\x04\x62\x61se\x18\x01 \x01(\x0b\x32\x1c.milvus.proto.common.MsgBase\x12\x0f\n\x07\x64\x62_name\x18\x02 \x01(\t\x12\x17\n\x0f\x63ollection_name\x18\x03 \x01(\t\x12\x16\n\x0epartition_name\x18\x04 \x01(\t\"\x86\x01\n\x15LoadPartitionsRequest\x12*\n\x04\x62\x61se\x18\x01 \x01(\x0b\x32\x1c.milvus.proto.common.MsgBase\x12\x0f\n\x07\x64\x62_name\x18\x02 \x01(\t\x12\x17\n\x0f\x63ollection_name\x18\x03 \x01(\t\x12\x17\n\x0fpartition_names\x18\x04 \x03(\t\"\x89\x01\n\x18ReleasePartitionsRequest\x12*\n\x04\x62\x61se\x18\x01 \x01(\x0b\x32\x1c.milvus.proto.common.MsgBase\x12\x0f\n\x07\x64\x62_name\x18\x02 \x01(\t\x12\x17\n\x0f\x63ollection_name\x18\x03 \x01(\t\x12\x17\n\x0fpartition_names\x18\x04 \x03(\t\"\x8d\x01\n\x1dGetPartitionStatisticsRequest\x12*\n\x04\x62\x61se\x18\x01 \x01(\x0b\x32\x1c.milvus.proto.common.MsgBase\x12\x0f\n\x07\x64\x62_name\x18\x02 \x01(\t\x12\x17\n\x0f\x63ollection_name\x18\x03 \x01(\t\x12\x16\n\x0epartition_name\x18\x04 \x01(\t\"\x7f\n\x1eGetPartitionStatisticsResponse\x12+\n\x06status\x18\x01 \x01(\x0b\x32\x1b.milvus.proto.common.Status\x12\x30\n\x05stats\x18\x02 \x03(\x0b\x32!.milvus.proto.common.KeyValuePair\"\xc9\x01\n\x15ShowPartitionsRequest\x12*\n\x04\x62\x61se\x18\x01 \x01(\x0b\x32\x1c.milvus.proto.common.MsgBase\x12\x0f\n\x07\x64\x62_name\x18\x02 \x01(\t\x12\x17\n\x0f\x63ollection_name\x18\x03 \x01(\t\x12\x14\n\x0c\x63ollectionID\x18\x04 \x01(\x03\x12\x17\n\x0fpartition_names\x18\x05 \x03(\t\x12+\n\x04type\x18\x06 \x01(\x0e\x32\x1d.milvus.proto.milvus.ShowType\"\xce\x01\n\x16ShowPartitionsResponse\x12+\n\x06status\x18\x01 \x01(\x0b\x32\x1b.milvus.proto.common.Status\x12\x17\n\x0fpartition_names\x18\x02 \x03(\t\x12\x14\n\x0cpartitionIDs\x18\x03 \x03(\x03\x12\x1a\n\x12\x63reated_timestamps\x18\x04 \x03(\x04\x12\x1e\n\x16\x63reated_utc_timestamps\x18\x05 \x03(\x04\x12\x1c\n\x14inMemory_percentages\x18\x06 \x03(\x03\"m\n\x16\x44\x65scribeSegmentRequest\x12*\n\x04\x62\x61se\x18\x01 \x01(\x0b\x32\x1c.milvus.proto.common.MsgBase\x12\x14\n\x0c\x63ollectionID\x18\x02 \x01(\x03\x12\x11\n\tsegmentID\x18\x03 \x01(\x03\"~\n\x17\x44\x65scribeSegmentResponse\x12+\n\x06status\x18\x01 \x01(\x0b\x32\x1b.milvus.proto.common.Status\x12\x0f\n\x07indexID\x18\x02 \x01(\x03\x12\x0f\n\x07\x62uildID\x18\x03 \x01(\x03\x12\x14\n\x0c\x65nable_index\x18\x04 \x01(\x08\"l\n\x13ShowSegmentsRequest\x12*\n\x04\x62\x61se\x18\x01 \x01(\x0b\x32\x1c.milvus.proto.common.MsgBase\x12\x14\n\x0c\x63ollectionID\x18\x02 \x01(\x03\x12\x13\n\x0bpartitionID\x18\x03 \x01(\x03\"W\n\x14ShowSegmentsResponse\x12+\n\x06status\x18\x01 \x01(\x0b\x32\x1b.milvus.proto.common.Status\x12\x12\n\nsegmentIDs\x18\x02 \x03(\x03\"\xb7\x01\n\x12\x43reateIndexRequest\x12*\n\x04\x62\x61se\x18\x01 \x01(\x0b\x32\x1c.milvus.proto.common.MsgBase\x12\x0f\n\x07\x64\x62_name\x18\x02 \x01(\t\x12\x17\n\x0f\x63ollection_name\x18\x03 \x01(\t\x12\x12\n\nfield_name\x18\x04 \x01(\t\x12\x37\n\x0c\x65xtra_params\x18\x05 \x03(\x0b\x32!.milvus.proto.common.KeyValuePair\"\x94\x01\n\x14\x44\x65scribeIndexRequest\x12*\n\x04\x62\x61se\x18\x01 \x01(\x0b\x32\x1c.milvus.proto.common.MsgBase\x12\x0f\n\x07\x64\x62_name\x18\x02 \x01(\t\x12\x17\n\x0f\x63ollection_name\x18\x03 \x01(\t\x12\x12\n\nfield_name\x18\x04 \x01(\t\x12\x12\n\nindex_name\x18\x05 \x01(\t\"~\n\x10IndexDescription\x12\x12\n\nindex_name\x18\x01 \x01(\t\x12\x0f\n\x07indexID\x18\x02 \x01(\x03\x12\x31\n\x06params\x18\x03 \x03(\x0b\x32!.milvus.proto.common.KeyValuePair\x12\x12\n\nfield_name\x18\x04 \x01(\t\"\x87\x01\n\x15\x44\x65scribeIndexResponse\x12+\n\x06status\x18\x01 \x01(\x0b\x32\x1b.milvus.proto.common.Status\x12\x41\n\x12index_descriptions\x18\x02 \x03(\x0b\x32%.milvus.proto.milvus.IndexDescription\"\x9c\x01\n\x1cGetIndexBuildProgressRequest\x12*\n\x04\x62\x61se\x18\x01 \x01(\x0b\x32\x1c.milvus.proto.common.MsgBase\x12\x0f\n\x07\x64\x62_name\x18\x02 \x01(\t\x12\x17\n\x0f\x63ollection_name\x18\x03 \x01(\t\x12\x12\n\nfield_name\x18\x04 \x01(\t\x12\x12\n\nindex_name\x18\x05 \x01(\t\"v\n\x1dGetIndexBuildProgressResponse\x12+\n\x06status\x18\x01 \x01(\x0b\x32\x1b.milvus.proto.common.Status\x12\x14\n\x0cindexed_rows\x18\x02 \x01(\x03\x12\x12\n\ntotal_rows\x18\x03 \x01(\x03\"\x94\x01\n\x14GetIndexStateRequest\x12*\n\x04\x62\x61se\x18\x01 \x01(\x0b\x32\x1c.milvus.proto.common.MsgBase\x12\x0f\n\x07\x64\x62_name\x18\x02 \x01(\t\x12\x17\n\x0f\x63ollection_name\x18\x03 \x01(\t\x12\x12\n\nfield_name\x18\x04 \x01(\t\x12\x12\n\nindex_name\x18\x05 \x01(\t\"\x89\x01\n\x15GetIndexStateResponse\x12+\n\x06status\x18\x01 \x01(\x0b\x32\x1b.milvus.proto.common.Status\x12.\n\x05state\x18\x02 \x01(\x0e\x32\x1f.milvus.proto.common.IndexState\x12\x13\n\x0b\x66\x61il_reason\x18\x03 \x01(\t\"\x90\x01\n\x10\x44ropIndexRequest\x12*\n\x04\x62\x61se\x18\x01 \x01(\x0b\x32\x1c.milvus.proto.common.MsgBase\x12\x0f\n\x07\x64\x62_name\x18\x02 \x01(\t\x12\x17\n\x0f\x63ollection_name\x18\x03 \x01(\t\x12\x12\n\nfield_name\x18\x04 \x01(\t\x12\x12\n\nindex_name\x18\x05 \x01(\t\"\xd7\x01\n\rInsertRequest\x12*\n\x04\x62\x61se\x18\x01 \x01(\x0b\x32\x1c.milvus.proto.common.MsgBase\x12\x0f\n\x07\x64\x62_name\x18\x02 \x01(\t\x12\x17\n\x0f\x63ollection_name\x18\x03 \x01(\t\x12\x16\n\x0epartition_name\x18\x04 \x01(\t\x12\x33\n\x0b\x66ields_data\x18\x05 \x03(\x0b\x32\x1e.milvus.proto.schema.FieldData\x12\x11\n\thash_keys\x18\x06 \x03(\r\x12\x10\n\x08num_rows\x18\x07 \x01(\r\"\xf0\x01\n\x0eMutationResult\x12+\n\x06status\x18\x01 \x01(\x0b\x32\x1b.milvus.proto.common.Status\x12%\n\x03IDs\x18\x02 \x01(\x0b\x32\x18.milvus.proto.schema.IDs\x12\x12\n\nsucc_index\x18\x03 \x03(\r\x12\x11\n\terr_index\x18\x04 \x03(\r\x12\x14\n\x0c\x61\x63knowledged\x18\x05 \x01(\x08\x12\x12\n\ninsert_cnt\x18\x06 \x01(\x03\x12\x12\n\ndelete_cnt\x18\x07 \x01(\x03\x12\x12\n\nupsert_cnt\x18\x08 \x01(\x03\x12\x11\n\ttimestamp\x18\t \x01(\x04\"\x8b\x01\n\rDeleteRequest\x12*\n\x04\x62\x61se\x18\x01 \x01(\x0b\x32\x1c.milvus.proto.common.MsgBase\x12\x0f\n\x07\x64\x62_name\x18\x02 \x01(\t\x12\x17\n\x0f\x63ollection_name\x18\x03 \x01(\t\x12\x16\n\x0epartition_name\x18\x04 \x01(\t\x12\x0c\n\x04\x65xpr\x18\x05 \x01(\t\"c\n\x10PlaceholderValue\x12\x0b\n\x03tag\x18\x01 \x01(\t\x12\x32\n\x04type\x18\x02 \x01(\x0e\x32$.milvus.proto.milvus.PlaceholderType\x12\x0e\n\x06values\x18\x03 \x03(\x0c\"O\n\x10PlaceholderGroup\x12;\n\x0cplaceholders\x18\x01 \x03(\x0b\x32%.milvus.proto.milvus.PlaceholderValue\"\xde\x02\n\rSearchRequest\x12*\n\x04\x62\x61se\x18\x01 \x01(\x0b\x32\x1c.milvus.proto.common.MsgBase\x12\x0f\n\x07\x64\x62_name\x18\x02 \x01(\t\x12\x17\n\x0f\x63ollection_name\x18\x03 \x01(\t\x12\x17\n\x0fpartition_names\x18\x04 \x03(\t\x12\x0b\n\x03\x64sl\x18\x05 \x01(\t\x12\x19\n\x11placeholder_group\x18\x06 \x01(\x0c\x12.\n\x08\x64sl_type\x18\x07 \x01(\x0e\x32\x1c.milvus.proto.common.DslType\x12\x15\n\routput_fields\x18\x08 \x03(\t\x12\x38\n\rsearch_params\x18\t \x03(\x0b\x32!.milvus.proto.common.KeyValuePair\x12\x18\n\x10travel_timestamp\x18\n \x01(\x04\x12\x1b\n\x13guarantee_timestamp\x18\x0b \x01(\x04\"5\n\x04Hits\x12\x0b\n\x03IDs\x18\x01 \x03(\x03\x12\x10\n\x08row_data\x18\x02 \x03(\x0c\x12\x0e\n\x06scores\x18\x03 \x03(\x02\"t\n\rSearchResults\x12+\n\x06status\x18\x01 \x01(\x0b\x32\x1b.milvus.proto.common.Status\x12\x36\n\x07results\x18\x02 \x01(\x0b\x32%.milvus.proto.schema.SearchResultData\"e\n\x0c\x46lushRequest\x12*\n\x04\x62\x61se\x18\x01 \x01(\x0b\x32\x1c.milvus.proto.common.MsgBase\x12\x0f\n\x07\x64\x62_name\x18\x02 \x01(\t\x12\x18\n\x10\x63ollection_names\x18\x03 \x03(\t\"\xe9\x01\n\rFlushResponse\x12+\n\x06status\x18\x01 \x01(\x0b\x32\x1b.milvus.proto.common.Status\x12\x0f\n\x07\x64\x62_name\x18\x02 \x01(\t\x12G\n\x0b\x63oll_segIDs\x18\x03 \x03(\x0b\x32\x32.milvus.proto.milvus.FlushResponse.CollSegIDsEntry\x1aQ\n\x0f\x43ollSegIDsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12-\n\x05value\x18\x02 \x01(\x0b\x32\x1e.milvus.proto.schema.LongArray:\x02\x38\x01\"\xd9\x01\n\x0cQueryRequest\x12*\n\x04\x62\x61se\x18\x01 \x01(\x0b\x32\x1c.milvus.proto.common.MsgBase\x12\x0f\n\x07\x64\x62_name\x18\x02 \x01(\t\x12\x17\n\x0f\x63ollection_name\x18\x03 \x01(\t\x12\x0c\n\x04\x65xpr\x18\x04 \x01(\t\x12\x15\n\routput_fields\x18\x05 \x03(\t\x12\x17\n\x0fpartition_names\x18\x06 \x03(\t\x12\x18\n\x10travel_timestamp\x18\x07 \x01(\x04\x12\x1b\n\x13guarantee_timestamp\x18\x08 \x01(\x04\"p\n\x0cQueryResults\x12+\n\x06status\x18\x01 \x01(\x0b\x32\x1b.milvus.proto.common.Status\x12\x33\n\x0b\x66ields_data\x18\x02 \x03(\x0b\x32\x1e.milvus.proto.schema.FieldData\"}\n\tVectorIDs\x12\x17\n\x0f\x63ollection_name\x18\x01 \x01(\t\x12\x12\n\nfield_name\x18\x02 \x01(\t\x12*\n\x08id_array\x18\x03 \x01(\x0b\x32\x18.milvus.proto.schema.IDs\x12\x17\n\x0fpartition_names\x18\x04 \x03(\t\"\x83\x01\n\x0cVectorsArray\x12\x32\n\x08id_array\x18\x01 \x01(\x0b\x32\x1e.milvus.proto.milvus.VectorIDsH\x00\x12\x36\n\ndata_array\x18\x02 \x01(\x0b\x32 .milvus.proto.schema.VectorFieldH\x00\x42\x07\n\x05\x61rray\"\xdd\x01\n\x13\x43\x61lcDistanceRequest\x12*\n\x04\x62\x61se\x18\x01 \x01(\x0b\x32\x1c.milvus.proto.common.MsgBase\x12\x32\n\x07op_left\x18\x02 \x01(\x0b\x32!.milvus.proto.milvus.VectorsArray\x12\x33\n\x08op_right\x18\x03 \x01(\x0b\x32!.milvus.proto.milvus.VectorsArray\x12\x31\n\x06params\x18\x04 \x03(\x0b\x32!.milvus.proto.common.KeyValuePair\"\xb5\x01\n\x13\x43\x61lcDistanceResults\x12+\n\x06status\x18\x01 \x01(\x0b\x32\x1b.milvus.proto.common.Status\x12\x31\n\x08int_dist\x18\x02 \x01(\x0b\x32\x1d.milvus.proto.schema.IntArrayH\x00\x12\x35\n\nfloat_dist\x18\x03 \x01(\x0b\x32\x1f.milvus.proto.schema.FloatArrayH\x00\x42\x07\n\x05\x61rray\"\x99\x01\n\x15PersistentSegmentInfo\x12\x11\n\tsegmentID\x18\x01 \x01(\x03\x12\x14\n\x0c\x63ollectionID\x18\x02 \x01(\x03\x12\x13\n\x0bpartitionID\x18\x03 \x01(\x03\x12\x10\n\x08num_rows\x18\x04 \x01(\x03\x12\x30\n\x05state\x18\x05 \x01(\x0e\x32!.milvus.proto.common.SegmentState\"u\n\x1fGetPersistentSegmentInfoRequest\x12*\n\x04\x62\x61se\x18\x01 \x01(\x0b\x32\x1c.milvus.proto.common.MsgBase\x12\x0e\n\x06\x64\x62Name\x18\x02 \x01(\t\x12\x16\n\x0e\x63ollectionName\x18\x03 \x01(\t\"\x8a\x01\n GetPersistentSegmentInfoResponse\x12+\n\x06status\x18\x01 \x01(\x0b\x32\x1b.milvus.proto.common.Status\x12\x39\n\x05infos\x18\x02 \x03(\x0b\x32*.milvus.proto.milvus.PersistentSegmentInfo\"\x99\x01\n\x10QuerySegmentInfo\x12\x11\n\tsegmentID\x18\x01 \x01(\x03\x12\x14\n\x0c\x63ollectionID\x18\x02 \x01(\x03\x12\x13\n\x0bpartitionID\x18\x03 \x01(\x03\x12\x10\n\x08mem_size\x18\x04 \x01(\x03\x12\x10\n\x08num_rows\x18\x05 \x01(\x03\x12\x12\n\nindex_name\x18\x06 \x01(\t\x12\x0f\n\x07indexID\x18\x07 \x01(\x03\"p\n\x1aGetQuerySegmentInfoRequest\x12*\n\x04\x62\x61se\x18\x01 \x01(\x0b\x32\x1c.milvus.proto.common.MsgBase\x12\x0e\n\x06\x64\x62Name\x18\x02 \x01(\t\x12\x16\n\x0e\x63ollectionName\x18\x03 \x01(\t\"\x80\x01\n\x1bGetQuerySegmentInfoResponse\x12+\n\x06status\x18\x01 \x01(\x0b\x32\x1b.milvus.proto.common.Status\x12\x34\n\x05infos\x18\x02 \x03(\x0b\x32%.milvus.proto.milvus.QuerySegmentInfo\"$\n\x0c\x44ummyRequest\x12\x14\n\x0crequest_type\x18\x01 \x01(\t\"!\n\rDummyResponse\x12\x10\n\x08response\x18\x01 \x01(\t\"\x15\n\x13RegisterLinkRequest\"r\n\x14RegisterLinkResponse\x12-\n\x07\x61\x64\x64ress\x18\x01 \x01(\x0b\x32\x1c.milvus.proto.common.Address\x12+\n\x06status\x18\x02 \x01(\x0b\x32\x1b.milvus.proto.common.Status\"P\n\x11GetMetricsRequest\x12*\n\x04\x62\x61se\x18\x01 \x01(\x0b\x32\x1c.milvus.proto.common.MsgBase\x12\x0f\n\x07request\x18\x02 \x01(\t\"k\n\x12GetMetricsResponse\x12+\n\x06status\x18\x01 \x01(\x0b\x32\x1b.milvus.proto.common.Status\x12\x10\n\x08response\x18\x02 \x01(\t\x12\x16\n\x0e\x63omponent_name\x18\x03 \x01(\t*!\n\x08ShowType\x12\x07\n\x03\x41ll\x10\x00\x12\x0c\n\x08InMemory\x10\x01*>\n\x0fPlaceholderType\x12\x08\n\x04None\x10\x00\x12\x10\n\x0c\x42inaryVector\x10\x64\x12\x0f\n\x0b\x46loatVector\x10\x65\x32\xd5\x1a\n\rMilvusService\x12_\n\x10\x43reateCollection\x12,.milvus.proto.milvus.CreateCollectionRequest\x1a\x1b.milvus.proto.common.Status\"\x00\x12[\n\x0e\x44ropCollection\x12*.milvus.proto.milvus.DropCollectionRequest\x1a\x1b.milvus.proto.common.Status\"\x00\x12_\n\rHasCollection\x12).milvus.proto.milvus.HasCollectionRequest\x1a!.milvus.proto.milvus.BoolResponse\"\x00\x12[\n\x0eLoadCollection\x12*.milvus.proto.milvus.LoadCollectionRequest\x1a\x1b.milvus.proto.common.Status\"\x00\x12\x61\n\x11ReleaseCollection\x12-.milvus.proto.milvus.ReleaseCollectionRequest\x1a\x1b.milvus.proto.common.Status\"\x00\x12w\n\x12\x44\x65scribeCollection\x12..milvus.proto.milvus.DescribeCollectionRequest\x1a/.milvus.proto.milvus.DescribeCollectionResponse\"\x00\x12\x86\x01\n\x17GetCollectionStatistics\x12\x33.milvus.proto.milvus.GetCollectionStatisticsRequest\x1a\x34.milvus.proto.milvus.GetCollectionStatisticsResponse\"\x00\x12n\n\x0fShowCollections\x12+.milvus.proto.milvus.ShowCollectionsRequest\x1a,.milvus.proto.milvus.ShowCollectionsResponse\"\x00\x12]\n\x0f\x43reatePartition\x12+.milvus.proto.milvus.CreatePartitionRequest\x1a\x1b.milvus.proto.common.Status\"\x00\x12Y\n\rDropPartition\x12).milvus.proto.milvus.DropPartitionRequest\x1a\x1b.milvus.proto.common.Status\"\x00\x12]\n\x0cHasPartition\x12(.milvus.proto.milvus.HasPartitionRequest\x1a!.milvus.proto.milvus.BoolResponse\"\x00\x12[\n\x0eLoadPartitions\x12*.milvus.proto.milvus.LoadPartitionsRequest\x1a\x1b.milvus.proto.common.Status\"\x00\x12\x61\n\x11ReleasePartitions\x12-.milvus.proto.milvus.ReleasePartitionsRequest\x1a\x1b.milvus.proto.common.Status\"\x00\x12\x83\x01\n\x16GetPartitionStatistics\x12\x32.milvus.proto.milvus.GetPartitionStatisticsRequest\x1a\x33.milvus.proto.milvus.GetPartitionStatisticsResponse\"\x00\x12k\n\x0eShowPartitions\x12*.milvus.proto.milvus.ShowPartitionsRequest\x1a+.milvus.proto.milvus.ShowPartitionsResponse\"\x00\x12U\n\x0b\x43reateAlias\x12\'.milvus.proto.milvus.CreateAliasRequest\x1a\x1b.milvus.proto.common.Status\"\x00\x12Q\n\tDropAlias\x12%.milvus.proto.milvus.DropAliasRequest\x1a\x1b.milvus.proto.common.Status\"\x00\x12S\n\nAlterAlias\x12&.milvus.proto.milvus.AlterAliasRequest\x1a\x1b.milvus.proto.common.Status\"\x00\x12U\n\x0b\x43reateIndex\x12\'.milvus.proto.milvus.CreateIndexRequest\x1a\x1b.milvus.proto.common.Status\"\x00\x12h\n\rDescribeIndex\x12).milvus.proto.milvus.DescribeIndexRequest\x1a*.milvus.proto.milvus.DescribeIndexResponse\"\x00\x12h\n\rGetIndexState\x12).milvus.proto.milvus.GetIndexStateRequest\x1a*.milvus.proto.milvus.GetIndexStateResponse\"\x00\x12\x80\x01\n\x15GetIndexBuildProgress\x12\x31.milvus.proto.milvus.GetIndexBuildProgressRequest\x1a\x32.milvus.proto.milvus.GetIndexBuildProgressResponse\"\x00\x12Q\n\tDropIndex\x12%.milvus.proto.milvus.DropIndexRequest\x1a\x1b.milvus.proto.common.Status\"\x00\x12S\n\x06Insert\x12\".milvus.proto.milvus.InsertRequest\x1a#.milvus.proto.milvus.MutationResult\"\x00\x12S\n\x06\x44\x65lete\x12\".milvus.proto.milvus.DeleteRequest\x1a#.milvus.proto.milvus.MutationResult\"\x00\x12R\n\x06Search\x12\".milvus.proto.milvus.SearchRequest\x1a\".milvus.proto.milvus.SearchResults\"\x00\x12P\n\x05\x46lush\x12!.milvus.proto.milvus.FlushRequest\x1a\".milvus.proto.milvus.FlushResponse\"\x00\x12O\n\x05Query\x12!.milvus.proto.milvus.QueryRequest\x1a!.milvus.proto.milvus.QueryResults\"\x00\x12\x64\n\x0c\x43\x61lcDistance\x12(.milvus.proto.milvus.CalcDistanceRequest\x1a(.milvus.proto.milvus.CalcDistanceResults\"\x00\x12\x89\x01\n\x18GetPersistentSegmentInfo\x12\x34.milvus.proto.milvus.GetPersistentSegmentInfoRequest\x1a\x35.milvus.proto.milvus.GetPersistentSegmentInfoResponse\"\x00\x12z\n\x13GetQuerySegmentInfo\x12/.milvus.proto.milvus.GetQuerySegmentInfoRequest\x1a\x30.milvus.proto.milvus.GetQuerySegmentInfoResponse\"\x00\x12P\n\x05\x44ummy\x12!.milvus.proto.milvus.DummyRequest\x1a\".milvus.proto.milvus.DummyResponse\"\x00\x12\x65\n\x0cRegisterLink\x12(.milvus.proto.milvus.RegisterLinkRequest\x1a).milvus.proto.milvus.RegisterLinkResponse\"\x00\x12_\n\nGetMetrics\x12&.milvus.proto.milvus.GetMetricsRequest\x1a\'.milvus.proto.milvus.GetMetricsResponse\"\x00\x32u\n\x0cProxyService\x12\x65\n\x0cRegisterLink\x12(.milvus.proto.milvus.RegisterLinkRequest\x1a).milvus.proto.milvus.RegisterLinkResponse\"\x00\x42\x35Z3github.com/milvus-io/milvus/internal/proto/milvuspbb\x06proto3' + serialized_pb=b'\n\x0cmilvus.proto\x12\x13milvus.proto.milvus\x1a\x0c\x63ommon.proto\x1a\x0cschema.proto\"y\n\x12\x43reateAliasRequest\x12*\n\x04\x62\x61se\x18\x01 \x01(\x0b\x32\x1c.milvus.proto.common.MsgBase\x12\x0f\n\x07\x64\x62_name\x18\x02 \x01(\t\x12\x17\n\x0f\x63ollection_name\x18\x03 \x01(\t\x12\r\n\x05\x61lias\x18\x04 \x01(\t\"^\n\x10\x44ropAliasRequest\x12*\n\x04\x62\x61se\x18\x01 \x01(\x0b\x32\x1c.milvus.proto.common.MsgBase\x12\x0f\n\x07\x64\x62_name\x18\x02 \x01(\t\x12\r\n\x05\x61lias\x18\x03 \x01(\t\"x\n\x11\x41lterAliasRequest\x12*\n\x04\x62\x61se\x18\x01 \x01(\x0b\x32\x1c.milvus.proto.common.MsgBase\x12\x0f\n\x07\x64\x62_name\x18\x02 \x01(\t\x12\x17\n\x0f\x63ollection_name\x18\x03 \x01(\t\x12\r\n\x05\x61lias\x18\x04 \x01(\t\"\x93\x01\n\x17\x43reateCollectionRequest\x12*\n\x04\x62\x61se\x18\x01 \x01(\x0b\x32\x1c.milvus.proto.common.MsgBase\x12\x0f\n\x07\x64\x62_name\x18\x02 \x01(\t\x12\x17\n\x0f\x63ollection_name\x18\x03 \x01(\t\x12\x0e\n\x06schema\x18\x04 \x01(\x0c\x12\x12\n\nshards_num\x18\x05 \x01(\x05\"m\n\x15\x44ropCollectionRequest\x12*\n\x04\x62\x61se\x18\x01 \x01(\x0b\x32\x1c.milvus.proto.common.MsgBase\x12\x0f\n\x07\x64\x62_name\x18\x02 \x01(\t\x12\x17\n\x0f\x63ollection_name\x18\x03 \x01(\t\"\x80\x01\n\x14HasCollectionRequest\x12*\n\x04\x62\x61se\x18\x01 \x01(\x0b\x32\x1c.milvus.proto.common.MsgBase\x12\x0f\n\x07\x64\x62_name\x18\x02 \x01(\t\x12\x17\n\x0f\x63ollection_name\x18\x03 \x01(\t\x12\x12\n\ntime_stamp\x18\x04 \x01(\x04\"J\n\x0c\x42oolResponse\x12+\n\x06status\x18\x01 \x01(\x0b\x32\x1b.milvus.proto.common.Status\x12\r\n\x05value\x18\x02 \x01(\x08\"L\n\x0eStringResponse\x12+\n\x06status\x18\x01 \x01(\x0b\x32\x1b.milvus.proto.common.Status\x12\r\n\x05value\x18\x02 \x01(\t\"\x9b\x01\n\x19\x44\x65scribeCollectionRequest\x12*\n\x04\x62\x61se\x18\x01 \x01(\x0b\x32\x1c.milvus.proto.common.MsgBase\x12\x0f\n\x07\x64\x62_name\x18\x02 \x01(\t\x12\x17\n\x0f\x63ollection_name\x18\x03 \x01(\t\x12\x14\n\x0c\x63ollectionID\x18\x04 \x01(\x03\x12\x12\n\ntime_stamp\x18\x05 \x01(\x04\"\xef\x02\n\x1a\x44\x65scribeCollectionResponse\x12+\n\x06status\x18\x01 \x01(\x0b\x32\x1b.milvus.proto.common.Status\x12\x35\n\x06schema\x18\x02 \x01(\x0b\x32%.milvus.proto.schema.CollectionSchema\x12\x14\n\x0c\x63ollectionID\x18\x03 \x01(\x03\x12\x1d\n\x15virtual_channel_names\x18\x04 \x03(\t\x12\x1e\n\x16physical_channel_names\x18\x05 \x03(\t\x12\x19\n\x11\x63reated_timestamp\x18\x06 \x01(\x04\x12\x1d\n\x15\x63reated_utc_timestamp\x18\x07 \x01(\x04\x12\x12\n\nshards_num\x18\x08 \x01(\x05\x12\x0f\n\x07\x61liases\x18\t \x03(\t\x12\x39\n\x0fstart_positions\x18\n \x03(\x0b\x32 .milvus.proto.common.KeyDataPair\"m\n\x15LoadCollectionRequest\x12*\n\x04\x62\x61se\x18\x01 \x01(\x0b\x32\x1c.milvus.proto.common.MsgBase\x12\x0f\n\x07\x64\x62_name\x18\x02 \x01(\t\x12\x17\n\x0f\x63ollection_name\x18\x03 \x01(\t\"p\n\x18ReleaseCollectionRequest\x12*\n\x04\x62\x61se\x18\x01 \x01(\x0b\x32\x1c.milvus.proto.common.MsgBase\x12\x0f\n\x07\x64\x62_name\x18\x02 \x01(\t\x12\x17\n\x0f\x63ollection_name\x18\x03 \x01(\t\"v\n\x1eGetCollectionStatisticsRequest\x12*\n\x04\x62\x61se\x18\x01 \x01(\x0b\x32\x1c.milvus.proto.common.MsgBase\x12\x0f\n\x07\x64\x62_name\x18\x02 \x01(\t\x12\x17\n\x0f\x63ollection_name\x18\x03 \x01(\t\"\x80\x01\n\x1fGetCollectionStatisticsResponse\x12+\n\x06status\x18\x01 \x01(\x0b\x32\x1b.milvus.proto.common.Status\x12\x30\n\x05stats\x18\x02 \x03(\x0b\x32!.milvus.proto.common.KeyValuePair\"\xb0\x01\n\x16ShowCollectionsRequest\x12*\n\x04\x62\x61se\x18\x01 \x01(\x0b\x32\x1c.milvus.proto.common.MsgBase\x12\x0f\n\x07\x64\x62_name\x18\x02 \x01(\t\x12\x12\n\ntime_stamp\x18\x03 \x01(\x04\x12+\n\x04type\x18\x04 \x01(\x0e\x32\x1d.milvus.proto.milvus.ShowType\x12\x18\n\x10\x63ollection_names\x18\x05 \x03(\t\"\xd2\x01\n\x17ShowCollectionsResponse\x12+\n\x06status\x18\x01 \x01(\x0b\x32\x1b.milvus.proto.common.Status\x12\x18\n\x10\x63ollection_names\x18\x02 \x03(\t\x12\x16\n\x0e\x63ollection_ids\x18\x03 \x03(\x03\x12\x1a\n\x12\x63reated_timestamps\x18\x04 \x03(\x04\x12\x1e\n\x16\x63reated_utc_timestamps\x18\x05 \x03(\x04\x12\x1c\n\x14inMemory_percentages\x18\x06 \x03(\x03\"\x86\x01\n\x16\x43reatePartitionRequest\x12*\n\x04\x62\x61se\x18\x01 \x01(\x0b\x32\x1c.milvus.proto.common.MsgBase\x12\x0f\n\x07\x64\x62_name\x18\x02 \x01(\t\x12\x17\n\x0f\x63ollection_name\x18\x03 \x01(\t\x12\x16\n\x0epartition_name\x18\x04 \x01(\t\"\x84\x01\n\x14\x44ropPartitionRequest\x12*\n\x04\x62\x61se\x18\x01 \x01(\x0b\x32\x1c.milvus.proto.common.MsgBase\x12\x0f\n\x07\x64\x62_name\x18\x02 \x01(\t\x12\x17\n\x0f\x63ollection_name\x18\x03 \x01(\t\x12\x16\n\x0epartition_name\x18\x04 \x01(\t\"\x83\x01\n\x13HasPartitionRequest\x12*\n\x04\x62\x61se\x18\x01 \x01(\x0b\x32\x1c.milvus.proto.common.MsgBase\x12\x0f\n\x07\x64\x62_name\x18\x02 \x01(\t\x12\x17\n\x0f\x63ollection_name\x18\x03 \x01(\t\x12\x16\n\x0epartition_name\x18\x04 \x01(\t\"\x86\x01\n\x15LoadPartitionsRequest\x12*\n\x04\x62\x61se\x18\x01 \x01(\x0b\x32\x1c.milvus.proto.common.MsgBase\x12\x0f\n\x07\x64\x62_name\x18\x02 \x01(\t\x12\x17\n\x0f\x63ollection_name\x18\x03 \x01(\t\x12\x17\n\x0fpartition_names\x18\x04 \x03(\t\"\x89\x01\n\x18ReleasePartitionsRequest\x12*\n\x04\x62\x61se\x18\x01 \x01(\x0b\x32\x1c.milvus.proto.common.MsgBase\x12\x0f\n\x07\x64\x62_name\x18\x02 \x01(\t\x12\x17\n\x0f\x63ollection_name\x18\x03 \x01(\t\x12\x17\n\x0fpartition_names\x18\x04 \x03(\t\"\x8d\x01\n\x1dGetPartitionStatisticsRequest\x12*\n\x04\x62\x61se\x18\x01 \x01(\x0b\x32\x1c.milvus.proto.common.MsgBase\x12\x0f\n\x07\x64\x62_name\x18\x02 \x01(\t\x12\x17\n\x0f\x63ollection_name\x18\x03 \x01(\t\x12\x16\n\x0epartition_name\x18\x04 \x01(\t\"\x7f\n\x1eGetPartitionStatisticsResponse\x12+\n\x06status\x18\x01 \x01(\x0b\x32\x1b.milvus.proto.common.Status\x12\x30\n\x05stats\x18\x02 \x03(\x0b\x32!.milvus.proto.common.KeyValuePair\"\xc9\x01\n\x15ShowPartitionsRequest\x12*\n\x04\x62\x61se\x18\x01 \x01(\x0b\x32\x1c.milvus.proto.common.MsgBase\x12\x0f\n\x07\x64\x62_name\x18\x02 \x01(\t\x12\x17\n\x0f\x63ollection_name\x18\x03 \x01(\t\x12\x14\n\x0c\x63ollectionID\x18\x04 \x01(\x03\x12\x17\n\x0fpartition_names\x18\x05 \x03(\t\x12+\n\x04type\x18\x06 \x01(\x0e\x32\x1d.milvus.proto.milvus.ShowType\"\xce\x01\n\x16ShowPartitionsResponse\x12+\n\x06status\x18\x01 \x01(\x0b\x32\x1b.milvus.proto.common.Status\x12\x17\n\x0fpartition_names\x18\x02 \x03(\t\x12\x14\n\x0cpartitionIDs\x18\x03 \x03(\x03\x12\x1a\n\x12\x63reated_timestamps\x18\x04 \x03(\x04\x12\x1e\n\x16\x63reated_utc_timestamps\x18\x05 \x03(\x04\x12\x1c\n\x14inMemory_percentages\x18\x06 \x03(\x03\"m\n\x16\x44\x65scribeSegmentRequest\x12*\n\x04\x62\x61se\x18\x01 \x01(\x0b\x32\x1c.milvus.proto.common.MsgBase\x12\x14\n\x0c\x63ollectionID\x18\x02 \x01(\x03\x12\x11\n\tsegmentID\x18\x03 \x01(\x03\"~\n\x17\x44\x65scribeSegmentResponse\x12+\n\x06status\x18\x01 \x01(\x0b\x32\x1b.milvus.proto.common.Status\x12\x0f\n\x07indexID\x18\x02 \x01(\x03\x12\x0f\n\x07\x62uildID\x18\x03 \x01(\x03\x12\x14\n\x0c\x65nable_index\x18\x04 \x01(\x08\"l\n\x13ShowSegmentsRequest\x12*\n\x04\x62\x61se\x18\x01 \x01(\x0b\x32\x1c.milvus.proto.common.MsgBase\x12\x14\n\x0c\x63ollectionID\x18\x02 \x01(\x03\x12\x13\n\x0bpartitionID\x18\x03 \x01(\x03\"W\n\x14ShowSegmentsResponse\x12+\n\x06status\x18\x01 \x01(\x0b\x32\x1b.milvus.proto.common.Status\x12\x12\n\nsegmentIDs\x18\x02 \x03(\x03\"\xb7\x01\n\x12\x43reateIndexRequest\x12*\n\x04\x62\x61se\x18\x01 \x01(\x0b\x32\x1c.milvus.proto.common.MsgBase\x12\x0f\n\x07\x64\x62_name\x18\x02 \x01(\t\x12\x17\n\x0f\x63ollection_name\x18\x03 \x01(\t\x12\x12\n\nfield_name\x18\x04 \x01(\t\x12\x37\n\x0c\x65xtra_params\x18\x05 \x03(\x0b\x32!.milvus.proto.common.KeyValuePair\"\x94\x01\n\x14\x44\x65scribeIndexRequest\x12*\n\x04\x62\x61se\x18\x01 \x01(\x0b\x32\x1c.milvus.proto.common.MsgBase\x12\x0f\n\x07\x64\x62_name\x18\x02 \x01(\t\x12\x17\n\x0f\x63ollection_name\x18\x03 \x01(\t\x12\x12\n\nfield_name\x18\x04 \x01(\t\x12\x12\n\nindex_name\x18\x05 \x01(\t\"~\n\x10IndexDescription\x12\x12\n\nindex_name\x18\x01 \x01(\t\x12\x0f\n\x07indexID\x18\x02 \x01(\x03\x12\x31\n\x06params\x18\x03 \x03(\x0b\x32!.milvus.proto.common.KeyValuePair\x12\x12\n\nfield_name\x18\x04 \x01(\t\"\x87\x01\n\x15\x44\x65scribeIndexResponse\x12+\n\x06status\x18\x01 \x01(\x0b\x32\x1b.milvus.proto.common.Status\x12\x41\n\x12index_descriptions\x18\x02 \x03(\x0b\x32%.milvus.proto.milvus.IndexDescription\"\x9c\x01\n\x1cGetIndexBuildProgressRequest\x12*\n\x04\x62\x61se\x18\x01 \x01(\x0b\x32\x1c.milvus.proto.common.MsgBase\x12\x0f\n\x07\x64\x62_name\x18\x02 \x01(\t\x12\x17\n\x0f\x63ollection_name\x18\x03 \x01(\t\x12\x12\n\nfield_name\x18\x04 \x01(\t\x12\x12\n\nindex_name\x18\x05 \x01(\t\"v\n\x1dGetIndexBuildProgressResponse\x12+\n\x06status\x18\x01 \x01(\x0b\x32\x1b.milvus.proto.common.Status\x12\x14\n\x0cindexed_rows\x18\x02 \x01(\x03\x12\x12\n\ntotal_rows\x18\x03 \x01(\x03\"\x94\x01\n\x14GetIndexStateRequest\x12*\n\x04\x62\x61se\x18\x01 \x01(\x0b\x32\x1c.milvus.proto.common.MsgBase\x12\x0f\n\x07\x64\x62_name\x18\x02 \x01(\t\x12\x17\n\x0f\x63ollection_name\x18\x03 \x01(\t\x12\x12\n\nfield_name\x18\x04 \x01(\t\x12\x12\n\nindex_name\x18\x05 \x01(\t\"\x89\x01\n\x15GetIndexStateResponse\x12+\n\x06status\x18\x01 \x01(\x0b\x32\x1b.milvus.proto.common.Status\x12.\n\x05state\x18\x02 \x01(\x0e\x32\x1f.milvus.proto.common.IndexState\x12\x13\n\x0b\x66\x61il_reason\x18\x03 \x01(\t\"\x90\x01\n\x10\x44ropIndexRequest\x12*\n\x04\x62\x61se\x18\x01 \x01(\x0b\x32\x1c.milvus.proto.common.MsgBase\x12\x0f\n\x07\x64\x62_name\x18\x02 \x01(\t\x12\x17\n\x0f\x63ollection_name\x18\x03 \x01(\t\x12\x12\n\nfield_name\x18\x04 \x01(\t\x12\x12\n\nindex_name\x18\x05 \x01(\t\"\xd7\x01\n\rInsertRequest\x12*\n\x04\x62\x61se\x18\x01 \x01(\x0b\x32\x1c.milvus.proto.common.MsgBase\x12\x0f\n\x07\x64\x62_name\x18\x02 \x01(\t\x12\x17\n\x0f\x63ollection_name\x18\x03 \x01(\t\x12\x16\n\x0epartition_name\x18\x04 \x01(\t\x12\x33\n\x0b\x66ields_data\x18\x05 \x03(\x0b\x32\x1e.milvus.proto.schema.FieldData\x12\x11\n\thash_keys\x18\x06 \x03(\r\x12\x10\n\x08num_rows\x18\x07 \x01(\r\"\xf0\x01\n\x0eMutationResult\x12+\n\x06status\x18\x01 \x01(\x0b\x32\x1b.milvus.proto.common.Status\x12%\n\x03IDs\x18\x02 \x01(\x0b\x32\x18.milvus.proto.schema.IDs\x12\x12\n\nsucc_index\x18\x03 \x03(\r\x12\x11\n\terr_index\x18\x04 \x03(\r\x12\x14\n\x0c\x61\x63knowledged\x18\x05 \x01(\x08\x12\x12\n\ninsert_cnt\x18\x06 \x01(\x03\x12\x12\n\ndelete_cnt\x18\x07 \x01(\x03\x12\x12\n\nupsert_cnt\x18\x08 \x01(\x03\x12\x11\n\ttimestamp\x18\t \x01(\x04\"\x8b\x01\n\rDeleteRequest\x12*\n\x04\x62\x61se\x18\x01 \x01(\x0b\x32\x1c.milvus.proto.common.MsgBase\x12\x0f\n\x07\x64\x62_name\x18\x02 \x01(\t\x12\x17\n\x0f\x63ollection_name\x18\x03 \x01(\t\x12\x16\n\x0epartition_name\x18\x04 \x01(\t\x12\x0c\n\x04\x65xpr\x18\x05 \x01(\t\"c\n\x10PlaceholderValue\x12\x0b\n\x03tag\x18\x01 \x01(\t\x12\x32\n\x04type\x18\x02 \x01(\x0e\x32$.milvus.proto.milvus.PlaceholderType\x12\x0e\n\x06values\x18\x03 \x03(\x0c\"O\n\x10PlaceholderGroup\x12;\n\x0cplaceholders\x18\x01 \x03(\x0b\x32%.milvus.proto.milvus.PlaceholderValue\"\xde\x02\n\rSearchRequest\x12*\n\x04\x62\x61se\x18\x01 \x01(\x0b\x32\x1c.milvus.proto.common.MsgBase\x12\x0f\n\x07\x64\x62_name\x18\x02 \x01(\t\x12\x17\n\x0f\x63ollection_name\x18\x03 \x01(\t\x12\x17\n\x0fpartition_names\x18\x04 \x03(\t\x12\x0b\n\x03\x64sl\x18\x05 \x01(\t\x12\x19\n\x11placeholder_group\x18\x06 \x01(\x0c\x12.\n\x08\x64sl_type\x18\x07 \x01(\x0e\x32\x1c.milvus.proto.common.DslType\x12\x15\n\routput_fields\x18\x08 \x03(\t\x12\x38\n\rsearch_params\x18\t \x03(\x0b\x32!.milvus.proto.common.KeyValuePair\x12\x18\n\x10travel_timestamp\x18\n \x01(\x04\x12\x1b\n\x13guarantee_timestamp\x18\x0b \x01(\x04\"5\n\x04Hits\x12\x0b\n\x03IDs\x18\x01 \x03(\x03\x12\x10\n\x08row_data\x18\x02 \x03(\x0c\x12\x0e\n\x06scores\x18\x03 \x03(\x02\"t\n\rSearchResults\x12+\n\x06status\x18\x01 \x01(\x0b\x32\x1b.milvus.proto.common.Status\x12\x36\n\x07results\x18\x02 \x01(\x0b\x32%.milvus.proto.schema.SearchResultData\"e\n\x0c\x46lushRequest\x12*\n\x04\x62\x61se\x18\x01 \x01(\x0b\x32\x1c.milvus.proto.common.MsgBase\x12\x0f\n\x07\x64\x62_name\x18\x02 \x01(\t\x12\x18\n\x10\x63ollection_names\x18\x03 \x03(\t\"\xe9\x01\n\rFlushResponse\x12+\n\x06status\x18\x01 \x01(\x0b\x32\x1b.milvus.proto.common.Status\x12\x0f\n\x07\x64\x62_name\x18\x02 \x01(\t\x12G\n\x0b\x63oll_segIDs\x18\x03 \x03(\x0b\x32\x32.milvus.proto.milvus.FlushResponse.CollSegIDsEntry\x1aQ\n\x0f\x43ollSegIDsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12-\n\x05value\x18\x02 \x01(\x0b\x32\x1e.milvus.proto.schema.LongArray:\x02\x38\x01\"\xd9\x01\n\x0cQueryRequest\x12*\n\x04\x62\x61se\x18\x01 \x01(\x0b\x32\x1c.milvus.proto.common.MsgBase\x12\x0f\n\x07\x64\x62_name\x18\x02 \x01(\t\x12\x17\n\x0f\x63ollection_name\x18\x03 \x01(\t\x12\x0c\n\x04\x65xpr\x18\x04 \x01(\t\x12\x15\n\routput_fields\x18\x05 \x03(\t\x12\x17\n\x0fpartition_names\x18\x06 \x03(\t\x12\x18\n\x10travel_timestamp\x18\x07 \x01(\x04\x12\x1b\n\x13guarantee_timestamp\x18\x08 \x01(\x04\"p\n\x0cQueryResults\x12+\n\x06status\x18\x01 \x01(\x0b\x32\x1b.milvus.proto.common.Status\x12\x33\n\x0b\x66ields_data\x18\x02 \x03(\x0b\x32\x1e.milvus.proto.schema.FieldData\"}\n\tVectorIDs\x12\x17\n\x0f\x63ollection_name\x18\x01 \x01(\t\x12\x12\n\nfield_name\x18\x02 \x01(\t\x12*\n\x08id_array\x18\x03 \x01(\x0b\x32\x18.milvus.proto.schema.IDs\x12\x17\n\x0fpartition_names\x18\x04 \x03(\t\"\x83\x01\n\x0cVectorsArray\x12\x32\n\x08id_array\x18\x01 \x01(\x0b\x32\x1e.milvus.proto.milvus.VectorIDsH\x00\x12\x36\n\ndata_array\x18\x02 \x01(\x0b\x32 .milvus.proto.schema.VectorFieldH\x00\x42\x07\n\x05\x61rray\"\xdd\x01\n\x13\x43\x61lcDistanceRequest\x12*\n\x04\x62\x61se\x18\x01 \x01(\x0b\x32\x1c.milvus.proto.common.MsgBase\x12\x32\n\x07op_left\x18\x02 \x01(\x0b\x32!.milvus.proto.milvus.VectorsArray\x12\x33\n\x08op_right\x18\x03 \x01(\x0b\x32!.milvus.proto.milvus.VectorsArray\x12\x31\n\x06params\x18\x04 \x03(\x0b\x32!.milvus.proto.common.KeyValuePair\"\xb5\x01\n\x13\x43\x61lcDistanceResults\x12+\n\x06status\x18\x01 \x01(\x0b\x32\x1b.milvus.proto.common.Status\x12\x31\n\x08int_dist\x18\x02 \x01(\x0b\x32\x1d.milvus.proto.schema.IntArrayH\x00\x12\x35\n\nfloat_dist\x18\x03 \x01(\x0b\x32\x1f.milvus.proto.schema.FloatArrayH\x00\x42\x07\n\x05\x61rray\"\x99\x01\n\x15PersistentSegmentInfo\x12\x11\n\tsegmentID\x18\x01 \x01(\x03\x12\x14\n\x0c\x63ollectionID\x18\x02 \x01(\x03\x12\x13\n\x0bpartitionID\x18\x03 \x01(\x03\x12\x10\n\x08num_rows\x18\x04 \x01(\x03\x12\x30\n\x05state\x18\x05 \x01(\x0e\x32!.milvus.proto.common.SegmentState\"u\n\x1fGetPersistentSegmentInfoRequest\x12*\n\x04\x62\x61se\x18\x01 \x01(\x0b\x32\x1c.milvus.proto.common.MsgBase\x12\x0e\n\x06\x64\x62Name\x18\x02 \x01(\t\x12\x16\n\x0e\x63ollectionName\x18\x03 \x01(\t\"\x8a\x01\n GetPersistentSegmentInfoResponse\x12+\n\x06status\x18\x01 \x01(\x0b\x32\x1b.milvus.proto.common.Status\x12\x39\n\x05infos\x18\x02 \x03(\x0b\x32*.milvus.proto.milvus.PersistentSegmentInfo\"\xdb\x01\n\x10QuerySegmentInfo\x12\x11\n\tsegmentID\x18\x01 \x01(\x03\x12\x14\n\x0c\x63ollectionID\x18\x02 \x01(\x03\x12\x13\n\x0bpartitionID\x18\x03 \x01(\x03\x12\x10\n\x08mem_size\x18\x04 \x01(\x03\x12\x10\n\x08num_rows\x18\x05 \x01(\x03\x12\x12\n\nindex_name\x18\x06 \x01(\t\x12\x0f\n\x07indexID\x18\x07 \x01(\x03\x12\x0e\n\x06nodeID\x18\x08 \x01(\x03\x12\x30\n\x05state\x18\t \x01(\x0e\x32!.milvus.proto.common.SegmentState\"p\n\x1aGetQuerySegmentInfoRequest\x12*\n\x04\x62\x61se\x18\x01 \x01(\x0b\x32\x1c.milvus.proto.common.MsgBase\x12\x0e\n\x06\x64\x62Name\x18\x02 \x01(\t\x12\x16\n\x0e\x63ollectionName\x18\x03 \x01(\t\"\x80\x01\n\x1bGetQuerySegmentInfoResponse\x12+\n\x06status\x18\x01 \x01(\x0b\x32\x1b.milvus.proto.common.Status\x12\x34\n\x05infos\x18\x02 \x03(\x0b\x32%.milvus.proto.milvus.QuerySegmentInfo\"$\n\x0c\x44ummyRequest\x12\x14\n\x0crequest_type\x18\x01 \x01(\t\"!\n\rDummyResponse\x12\x10\n\x08response\x18\x01 \x01(\t\"\x15\n\x13RegisterLinkRequest\"r\n\x14RegisterLinkResponse\x12-\n\x07\x61\x64\x64ress\x18\x01 \x01(\x0b\x32\x1c.milvus.proto.common.Address\x12+\n\x06status\x18\x02 \x01(\x0b\x32\x1b.milvus.proto.common.Status\"P\n\x11GetMetricsRequest\x12*\n\x04\x62\x61se\x18\x01 \x01(\x0b\x32\x1c.milvus.proto.common.MsgBase\x12\x0f\n\x07request\x18\x02 \x01(\t\"k\n\x12GetMetricsResponse\x12+\n\x06status\x18\x01 \x01(\x0b\x32\x1b.milvus.proto.common.Status\x12\x10\n\x08response\x18\x02 \x01(\t\x12\x16\n\x0e\x63omponent_name\x18\x03 \x01(\t*!\n\x08ShowType\x12\x07\n\x03\x41ll\x10\x00\x12\x0c\n\x08InMemory\x10\x01*>\n\x0fPlaceholderType\x12\x08\n\x04None\x10\x00\x12\x10\n\x0c\x42inaryVector\x10\x64\x12\x0f\n\x0b\x46loatVector\x10\x65\x32\xd5\x1a\n\rMilvusService\x12_\n\x10\x43reateCollection\x12,.milvus.proto.milvus.CreateCollectionRequest\x1a\x1b.milvus.proto.common.Status\"\x00\x12[\n\x0e\x44ropCollection\x12*.milvus.proto.milvus.DropCollectionRequest\x1a\x1b.milvus.proto.common.Status\"\x00\x12_\n\rHasCollection\x12).milvus.proto.milvus.HasCollectionRequest\x1a!.milvus.proto.milvus.BoolResponse\"\x00\x12[\n\x0eLoadCollection\x12*.milvus.proto.milvus.LoadCollectionRequest\x1a\x1b.milvus.proto.common.Status\"\x00\x12\x61\n\x11ReleaseCollection\x12-.milvus.proto.milvus.ReleaseCollectionRequest\x1a\x1b.milvus.proto.common.Status\"\x00\x12w\n\x12\x44\x65scribeCollection\x12..milvus.proto.milvus.DescribeCollectionRequest\x1a/.milvus.proto.milvus.DescribeCollectionResponse\"\x00\x12\x86\x01\n\x17GetCollectionStatistics\x12\x33.milvus.proto.milvus.GetCollectionStatisticsRequest\x1a\x34.milvus.proto.milvus.GetCollectionStatisticsResponse\"\x00\x12n\n\x0fShowCollections\x12+.milvus.proto.milvus.ShowCollectionsRequest\x1a,.milvus.proto.milvus.ShowCollectionsResponse\"\x00\x12]\n\x0f\x43reatePartition\x12+.milvus.proto.milvus.CreatePartitionRequest\x1a\x1b.milvus.proto.common.Status\"\x00\x12Y\n\rDropPartition\x12).milvus.proto.milvus.DropPartitionRequest\x1a\x1b.milvus.proto.common.Status\"\x00\x12]\n\x0cHasPartition\x12(.milvus.proto.milvus.HasPartitionRequest\x1a!.milvus.proto.milvus.BoolResponse\"\x00\x12[\n\x0eLoadPartitions\x12*.milvus.proto.milvus.LoadPartitionsRequest\x1a\x1b.milvus.proto.common.Status\"\x00\x12\x61\n\x11ReleasePartitions\x12-.milvus.proto.milvus.ReleasePartitionsRequest\x1a\x1b.milvus.proto.common.Status\"\x00\x12\x83\x01\n\x16GetPartitionStatistics\x12\x32.milvus.proto.milvus.GetPartitionStatisticsRequest\x1a\x33.milvus.proto.milvus.GetPartitionStatisticsResponse\"\x00\x12k\n\x0eShowPartitions\x12*.milvus.proto.milvus.ShowPartitionsRequest\x1a+.milvus.proto.milvus.ShowPartitionsResponse\"\x00\x12U\n\x0b\x43reateAlias\x12\'.milvus.proto.milvus.CreateAliasRequest\x1a\x1b.milvus.proto.common.Status\"\x00\x12Q\n\tDropAlias\x12%.milvus.proto.milvus.DropAliasRequest\x1a\x1b.milvus.proto.common.Status\"\x00\x12S\n\nAlterAlias\x12&.milvus.proto.milvus.AlterAliasRequest\x1a\x1b.milvus.proto.common.Status\"\x00\x12U\n\x0b\x43reateIndex\x12\'.milvus.proto.milvus.CreateIndexRequest\x1a\x1b.milvus.proto.common.Status\"\x00\x12h\n\rDescribeIndex\x12).milvus.proto.milvus.DescribeIndexRequest\x1a*.milvus.proto.milvus.DescribeIndexResponse\"\x00\x12h\n\rGetIndexState\x12).milvus.proto.milvus.GetIndexStateRequest\x1a*.milvus.proto.milvus.GetIndexStateResponse\"\x00\x12\x80\x01\n\x15GetIndexBuildProgress\x12\x31.milvus.proto.milvus.GetIndexBuildProgressRequest\x1a\x32.milvus.proto.milvus.GetIndexBuildProgressResponse\"\x00\x12Q\n\tDropIndex\x12%.milvus.proto.milvus.DropIndexRequest\x1a\x1b.milvus.proto.common.Status\"\x00\x12S\n\x06Insert\x12\".milvus.proto.milvus.InsertRequest\x1a#.milvus.proto.milvus.MutationResult\"\x00\x12S\n\x06\x44\x65lete\x12\".milvus.proto.milvus.DeleteRequest\x1a#.milvus.proto.milvus.MutationResult\"\x00\x12R\n\x06Search\x12\".milvus.proto.milvus.SearchRequest\x1a\".milvus.proto.milvus.SearchResults\"\x00\x12P\n\x05\x46lush\x12!.milvus.proto.milvus.FlushRequest\x1a\".milvus.proto.milvus.FlushResponse\"\x00\x12O\n\x05Query\x12!.milvus.proto.milvus.QueryRequest\x1a!.milvus.proto.milvus.QueryResults\"\x00\x12\x64\n\x0c\x43\x61lcDistance\x12(.milvus.proto.milvus.CalcDistanceRequest\x1a(.milvus.proto.milvus.CalcDistanceResults\"\x00\x12\x89\x01\n\x18GetPersistentSegmentInfo\x12\x34.milvus.proto.milvus.GetPersistentSegmentInfoRequest\x1a\x35.milvus.proto.milvus.GetPersistentSegmentInfoResponse\"\x00\x12z\n\x13GetQuerySegmentInfo\x12/.milvus.proto.milvus.GetQuerySegmentInfoRequest\x1a\x30.milvus.proto.milvus.GetQuerySegmentInfoResponse\"\x00\x12P\n\x05\x44ummy\x12!.milvus.proto.milvus.DummyRequest\x1a\".milvus.proto.milvus.DummyResponse\"\x00\x12\x65\n\x0cRegisterLink\x12(.milvus.proto.milvus.RegisterLinkRequest\x1a).milvus.proto.milvus.RegisterLinkResponse\"\x00\x12_\n\nGetMetrics\x12&.milvus.proto.milvus.GetMetricsRequest\x1a\'.milvus.proto.milvus.GetMetricsResponse\"\x00\x32u\n\x0cProxyService\x12\x65\n\x0cRegisterLink\x12(.milvus.proto.milvus.RegisterLinkRequest\x1a).milvus.proto.milvus.RegisterLinkResponse\"\x00\x42\x35Z3github.com/milvus-io/milvus/internal/proto/milvuspbb\x06proto3' , dependencies=[common__pb2.DESCRIPTOR,schema__pb2.DESCRIPTOR,]) @@ -46,8 +46,8 @@ ], containing_type=None, serialized_options=None, - serialized_start=9348, - serialized_end=9381, + serialized_start=9414, + serialized_end=9447, ) _sym_db.RegisterEnumDescriptor(_SHOWTYPE) @@ -77,8 +77,8 @@ ], containing_type=None, serialized_options=None, - serialized_start=9383, - serialized_end=9445, + serialized_start=9449, + serialized_end=9511, ) _sym_db.RegisterEnumDescriptor(_PLACEHOLDERTYPE) @@ -3238,6 +3238,20 @@ message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='nodeID', full_name='milvus.proto.milvus.QuerySegmentInfo.nodeID', index=7, + number=8, type=3, cpp_type=2, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='state', full_name='milvus.proto.milvus.QuerySegmentInfo.state', index=8, + number=9, type=14, cpp_type=8, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -3251,7 +3265,7 @@ oneofs=[ ], serialized_start=8545, - serialized_end=8698, + serialized_end=8764, ) @@ -3296,8 +3310,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=8700, - serialized_end=8812, + serialized_start=8766, + serialized_end=8878, ) @@ -3335,8 +3349,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=8815, - serialized_end=8943, + serialized_start=8881, + serialized_end=9009, ) @@ -3367,8 +3381,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=8945, - serialized_end=8981, + serialized_start=9011, + serialized_end=9047, ) @@ -3399,8 +3413,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=8983, - serialized_end=9016, + serialized_start=9049, + serialized_end=9082, ) @@ -3424,8 +3438,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=9018, - serialized_end=9039, + serialized_start=9084, + serialized_end=9105, ) @@ -3463,8 +3477,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=9041, - serialized_end=9155, + serialized_start=9107, + serialized_end=9221, ) @@ -3502,8 +3516,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=9157, - serialized_end=9237, + serialized_start=9223, + serialized_end=9303, ) @@ -3548,8 +3562,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=9239, - serialized_end=9346, + serialized_start=9305, + serialized_end=9412, ) _CREATEALIASREQUEST.fields_by_name['base'].message_type = common__pb2._MSGBASE @@ -3645,6 +3659,7 @@ _GETPERSISTENTSEGMENTINFOREQUEST.fields_by_name['base'].message_type = common__pb2._MSGBASE _GETPERSISTENTSEGMENTINFORESPONSE.fields_by_name['status'].message_type = common__pb2._STATUS _GETPERSISTENTSEGMENTINFORESPONSE.fields_by_name['infos'].message_type = _PERSISTENTSEGMENTINFO +_QUERYSEGMENTINFO.fields_by_name['state'].enum_type = common__pb2._SEGMENTSTATE _GETQUERYSEGMENTINFOREQUEST.fields_by_name['base'].message_type = common__pb2._MSGBASE _GETQUERYSEGMENTINFORESPONSE.fields_by_name['status'].message_type = common__pb2._STATUS _GETQUERYSEGMENTINFORESPONSE.fields_by_name['infos'].message_type = _QUERYSEGMENTINFO @@ -4203,8 +4218,8 @@ index=0, serialized_options=None, create_key=_descriptor._internal_create_key, - serialized_start=9448, - serialized_end=12861, + serialized_start=9514, + serialized_end=12927, methods=[ _descriptor.MethodDescriptor( name='CreateCollection', @@ -4559,8 +4574,8 @@ index=1, serialized_options=None, create_key=_descriptor._internal_create_key, - serialized_start=12863, - serialized_end=12980, + serialized_start=12929, + serialized_end=13046, methods=[ _descriptor.MethodDescriptor( name='RegisterLink', diff --git a/grpc-proto/milvus.proto b/grpc-proto/milvus.proto index a6c328007..d5b507782 100644 --- a/grpc-proto/milvus.proto +++ b/grpc-proto/milvus.proto @@ -607,6 +607,8 @@ message QuerySegmentInfo { int64 num_rows = 5; string index_name = 6; int64 indexID = 7; + int64 nodeID = 8; + common.SegmentState state = 9; } message GetQuerySegmentInfoRequest { From 82ca6c54a23d369c0f590314a83aebee8959d9c8 Mon Sep 17 00:00:00 2001 From: xige-16 <xi.ge@zilliz.com> Date: Wed, 27 Oct 2021 14:42:16 +0800 Subject: [PATCH 21/21] Update milvus_pb2.py after update milvus.proto (#787) Signed-off-by: xige-16 <xi.ge@zilliz.com> --- pymilvus/grpc_gen/milvus_pb2.py | 67 ++++++++++++++++++++------------- 1 file changed, 41 insertions(+), 26 deletions(-) diff --git a/pymilvus/grpc_gen/milvus_pb2.py b/pymilvus/grpc_gen/milvus_pb2.py index d6ab858f7..c44a303d6 100644 --- a/pymilvus/grpc_gen/milvus_pb2.py +++ b/pymilvus/grpc_gen/milvus_pb2.py @@ -22,7 +22,7 @@ syntax='proto3', serialized_options=b'Z3github.com/milvus-io/milvus/internal/proto/milvuspb', create_key=_descriptor._internal_create_key, - serialized_pb=b'\n\x0cmilvus.proto\x12\x13milvus.proto.milvus\x1a\x0c\x63ommon.proto\x1a\x0cschema.proto\"y\n\x12\x43reateAliasRequest\x12*\n\x04\x62\x61se\x18\x01 \x01(\x0b\x32\x1c.milvus.proto.common.MsgBase\x12\x0f\n\x07\x64\x62_name\x18\x02 \x01(\t\x12\x17\n\x0f\x63ollection_name\x18\x03 \x01(\t\x12\r\n\x05\x61lias\x18\x04 \x01(\t\"^\n\x10\x44ropAliasRequest\x12*\n\x04\x62\x61se\x18\x01 \x01(\x0b\x32\x1c.milvus.proto.common.MsgBase\x12\x0f\n\x07\x64\x62_name\x18\x02 \x01(\t\x12\r\n\x05\x61lias\x18\x03 \x01(\t\"x\n\x11\x41lterAliasRequest\x12*\n\x04\x62\x61se\x18\x01 \x01(\x0b\x32\x1c.milvus.proto.common.MsgBase\x12\x0f\n\x07\x64\x62_name\x18\x02 \x01(\t\x12\x17\n\x0f\x63ollection_name\x18\x03 \x01(\t\x12\r\n\x05\x61lias\x18\x04 \x01(\t\"\x93\x01\n\x17\x43reateCollectionRequest\x12*\n\x04\x62\x61se\x18\x01 \x01(\x0b\x32\x1c.milvus.proto.common.MsgBase\x12\x0f\n\x07\x64\x62_name\x18\x02 \x01(\t\x12\x17\n\x0f\x63ollection_name\x18\x03 \x01(\t\x12\x0e\n\x06schema\x18\x04 \x01(\x0c\x12\x12\n\nshards_num\x18\x05 \x01(\x05\"m\n\x15\x44ropCollectionRequest\x12*\n\x04\x62\x61se\x18\x01 \x01(\x0b\x32\x1c.milvus.proto.common.MsgBase\x12\x0f\n\x07\x64\x62_name\x18\x02 \x01(\t\x12\x17\n\x0f\x63ollection_name\x18\x03 \x01(\t\"\x80\x01\n\x14HasCollectionRequest\x12*\n\x04\x62\x61se\x18\x01 \x01(\x0b\x32\x1c.milvus.proto.common.MsgBase\x12\x0f\n\x07\x64\x62_name\x18\x02 \x01(\t\x12\x17\n\x0f\x63ollection_name\x18\x03 \x01(\t\x12\x12\n\ntime_stamp\x18\x04 \x01(\x04\"J\n\x0c\x42oolResponse\x12+\n\x06status\x18\x01 \x01(\x0b\x32\x1b.milvus.proto.common.Status\x12\r\n\x05value\x18\x02 \x01(\x08\"L\n\x0eStringResponse\x12+\n\x06status\x18\x01 \x01(\x0b\x32\x1b.milvus.proto.common.Status\x12\r\n\x05value\x18\x02 \x01(\t\"\x9b\x01\n\x19\x44\x65scribeCollectionRequest\x12*\n\x04\x62\x61se\x18\x01 \x01(\x0b\x32\x1c.milvus.proto.common.MsgBase\x12\x0f\n\x07\x64\x62_name\x18\x02 \x01(\t\x12\x17\n\x0f\x63ollection_name\x18\x03 \x01(\t\x12\x14\n\x0c\x63ollectionID\x18\x04 \x01(\x03\x12\x12\n\ntime_stamp\x18\x05 \x01(\x04\"\xef\x02\n\x1a\x44\x65scribeCollectionResponse\x12+\n\x06status\x18\x01 \x01(\x0b\x32\x1b.milvus.proto.common.Status\x12\x35\n\x06schema\x18\x02 \x01(\x0b\x32%.milvus.proto.schema.CollectionSchema\x12\x14\n\x0c\x63ollectionID\x18\x03 \x01(\x03\x12\x1d\n\x15virtual_channel_names\x18\x04 \x03(\t\x12\x1e\n\x16physical_channel_names\x18\x05 \x03(\t\x12\x19\n\x11\x63reated_timestamp\x18\x06 \x01(\x04\x12\x1d\n\x15\x63reated_utc_timestamp\x18\x07 \x01(\x04\x12\x12\n\nshards_num\x18\x08 \x01(\x05\x12\x0f\n\x07\x61liases\x18\t \x03(\t\x12\x39\n\x0fstart_positions\x18\n \x03(\x0b\x32 .milvus.proto.common.KeyDataPair\"m\n\x15LoadCollectionRequest\x12*\n\x04\x62\x61se\x18\x01 \x01(\x0b\x32\x1c.milvus.proto.common.MsgBase\x12\x0f\n\x07\x64\x62_name\x18\x02 \x01(\t\x12\x17\n\x0f\x63ollection_name\x18\x03 \x01(\t\"p\n\x18ReleaseCollectionRequest\x12*\n\x04\x62\x61se\x18\x01 \x01(\x0b\x32\x1c.milvus.proto.common.MsgBase\x12\x0f\n\x07\x64\x62_name\x18\x02 \x01(\t\x12\x17\n\x0f\x63ollection_name\x18\x03 \x01(\t\"v\n\x1eGetCollectionStatisticsRequest\x12*\n\x04\x62\x61se\x18\x01 \x01(\x0b\x32\x1c.milvus.proto.common.MsgBase\x12\x0f\n\x07\x64\x62_name\x18\x02 \x01(\t\x12\x17\n\x0f\x63ollection_name\x18\x03 \x01(\t\"\x80\x01\n\x1fGetCollectionStatisticsResponse\x12+\n\x06status\x18\x01 \x01(\x0b\x32\x1b.milvus.proto.common.Status\x12\x30\n\x05stats\x18\x02 \x03(\x0b\x32!.milvus.proto.common.KeyValuePair\"\xb0\x01\n\x16ShowCollectionsRequest\x12*\n\x04\x62\x61se\x18\x01 \x01(\x0b\x32\x1c.milvus.proto.common.MsgBase\x12\x0f\n\x07\x64\x62_name\x18\x02 \x01(\t\x12\x12\n\ntime_stamp\x18\x03 \x01(\x04\x12+\n\x04type\x18\x04 \x01(\x0e\x32\x1d.milvus.proto.milvus.ShowType\x12\x18\n\x10\x63ollection_names\x18\x05 \x03(\t\"\xd2\x01\n\x17ShowCollectionsResponse\x12+\n\x06status\x18\x01 \x01(\x0b\x32\x1b.milvus.proto.common.Status\x12\x18\n\x10\x63ollection_names\x18\x02 \x03(\t\x12\x16\n\x0e\x63ollection_ids\x18\x03 \x03(\x03\x12\x1a\n\x12\x63reated_timestamps\x18\x04 \x03(\x04\x12\x1e\n\x16\x63reated_utc_timestamps\x18\x05 \x03(\x04\x12\x1c\n\x14inMemory_percentages\x18\x06 \x03(\x03\"\x86\x01\n\x16\x43reatePartitionRequest\x12*\n\x04\x62\x61se\x18\x01 \x01(\x0b\x32\x1c.milvus.proto.common.MsgBase\x12\x0f\n\x07\x64\x62_name\x18\x02 \x01(\t\x12\x17\n\x0f\x63ollection_name\x18\x03 \x01(\t\x12\x16\n\x0epartition_name\x18\x04 \x01(\t\"\x84\x01\n\x14\x44ropPartitionRequest\x12*\n\x04\x62\x61se\x18\x01 \x01(\x0b\x32\x1c.milvus.proto.common.MsgBase\x12\x0f\n\x07\x64\x62_name\x18\x02 \x01(\t\x12\x17\n\x0f\x63ollection_name\x18\x03 \x01(\t\x12\x16\n\x0epartition_name\x18\x04 \x01(\t\"\x83\x01\n\x13HasPartitionRequest\x12*\n\x04\x62\x61se\x18\x01 \x01(\x0b\x32\x1c.milvus.proto.common.MsgBase\x12\x0f\n\x07\x64\x62_name\x18\x02 \x01(\t\x12\x17\n\x0f\x63ollection_name\x18\x03 \x01(\t\x12\x16\n\x0epartition_name\x18\x04 \x01(\t\"\x86\x01\n\x15LoadPartitionsRequest\x12*\n\x04\x62\x61se\x18\x01 \x01(\x0b\x32\x1c.milvus.proto.common.MsgBase\x12\x0f\n\x07\x64\x62_name\x18\x02 \x01(\t\x12\x17\n\x0f\x63ollection_name\x18\x03 \x01(\t\x12\x17\n\x0fpartition_names\x18\x04 \x03(\t\"\x89\x01\n\x18ReleasePartitionsRequest\x12*\n\x04\x62\x61se\x18\x01 \x01(\x0b\x32\x1c.milvus.proto.common.MsgBase\x12\x0f\n\x07\x64\x62_name\x18\x02 \x01(\t\x12\x17\n\x0f\x63ollection_name\x18\x03 \x01(\t\x12\x17\n\x0fpartition_names\x18\x04 \x03(\t\"\x8d\x01\n\x1dGetPartitionStatisticsRequest\x12*\n\x04\x62\x61se\x18\x01 \x01(\x0b\x32\x1c.milvus.proto.common.MsgBase\x12\x0f\n\x07\x64\x62_name\x18\x02 \x01(\t\x12\x17\n\x0f\x63ollection_name\x18\x03 \x01(\t\x12\x16\n\x0epartition_name\x18\x04 \x01(\t\"\x7f\n\x1eGetPartitionStatisticsResponse\x12+\n\x06status\x18\x01 \x01(\x0b\x32\x1b.milvus.proto.common.Status\x12\x30\n\x05stats\x18\x02 \x03(\x0b\x32!.milvus.proto.common.KeyValuePair\"\xc9\x01\n\x15ShowPartitionsRequest\x12*\n\x04\x62\x61se\x18\x01 \x01(\x0b\x32\x1c.milvus.proto.common.MsgBase\x12\x0f\n\x07\x64\x62_name\x18\x02 \x01(\t\x12\x17\n\x0f\x63ollection_name\x18\x03 \x01(\t\x12\x14\n\x0c\x63ollectionID\x18\x04 \x01(\x03\x12\x17\n\x0fpartition_names\x18\x05 \x03(\t\x12+\n\x04type\x18\x06 \x01(\x0e\x32\x1d.milvus.proto.milvus.ShowType\"\xce\x01\n\x16ShowPartitionsResponse\x12+\n\x06status\x18\x01 \x01(\x0b\x32\x1b.milvus.proto.common.Status\x12\x17\n\x0fpartition_names\x18\x02 \x03(\t\x12\x14\n\x0cpartitionIDs\x18\x03 \x03(\x03\x12\x1a\n\x12\x63reated_timestamps\x18\x04 \x03(\x04\x12\x1e\n\x16\x63reated_utc_timestamps\x18\x05 \x03(\x04\x12\x1c\n\x14inMemory_percentages\x18\x06 \x03(\x03\"m\n\x16\x44\x65scribeSegmentRequest\x12*\n\x04\x62\x61se\x18\x01 \x01(\x0b\x32\x1c.milvus.proto.common.MsgBase\x12\x14\n\x0c\x63ollectionID\x18\x02 \x01(\x03\x12\x11\n\tsegmentID\x18\x03 \x01(\x03\"~\n\x17\x44\x65scribeSegmentResponse\x12+\n\x06status\x18\x01 \x01(\x0b\x32\x1b.milvus.proto.common.Status\x12\x0f\n\x07indexID\x18\x02 \x01(\x03\x12\x0f\n\x07\x62uildID\x18\x03 \x01(\x03\x12\x14\n\x0c\x65nable_index\x18\x04 \x01(\x08\"l\n\x13ShowSegmentsRequest\x12*\n\x04\x62\x61se\x18\x01 \x01(\x0b\x32\x1c.milvus.proto.common.MsgBase\x12\x14\n\x0c\x63ollectionID\x18\x02 \x01(\x03\x12\x13\n\x0bpartitionID\x18\x03 \x01(\x03\"W\n\x14ShowSegmentsResponse\x12+\n\x06status\x18\x01 \x01(\x0b\x32\x1b.milvus.proto.common.Status\x12\x12\n\nsegmentIDs\x18\x02 \x03(\x03\"\xb7\x01\n\x12\x43reateIndexRequest\x12*\n\x04\x62\x61se\x18\x01 \x01(\x0b\x32\x1c.milvus.proto.common.MsgBase\x12\x0f\n\x07\x64\x62_name\x18\x02 \x01(\t\x12\x17\n\x0f\x63ollection_name\x18\x03 \x01(\t\x12\x12\n\nfield_name\x18\x04 \x01(\t\x12\x37\n\x0c\x65xtra_params\x18\x05 \x03(\x0b\x32!.milvus.proto.common.KeyValuePair\"\x94\x01\n\x14\x44\x65scribeIndexRequest\x12*\n\x04\x62\x61se\x18\x01 \x01(\x0b\x32\x1c.milvus.proto.common.MsgBase\x12\x0f\n\x07\x64\x62_name\x18\x02 \x01(\t\x12\x17\n\x0f\x63ollection_name\x18\x03 \x01(\t\x12\x12\n\nfield_name\x18\x04 \x01(\t\x12\x12\n\nindex_name\x18\x05 \x01(\t\"~\n\x10IndexDescription\x12\x12\n\nindex_name\x18\x01 \x01(\t\x12\x0f\n\x07indexID\x18\x02 \x01(\x03\x12\x31\n\x06params\x18\x03 \x03(\x0b\x32!.milvus.proto.common.KeyValuePair\x12\x12\n\nfield_name\x18\x04 \x01(\t\"\x87\x01\n\x15\x44\x65scribeIndexResponse\x12+\n\x06status\x18\x01 \x01(\x0b\x32\x1b.milvus.proto.common.Status\x12\x41\n\x12index_descriptions\x18\x02 \x03(\x0b\x32%.milvus.proto.milvus.IndexDescription\"\x9c\x01\n\x1cGetIndexBuildProgressRequest\x12*\n\x04\x62\x61se\x18\x01 \x01(\x0b\x32\x1c.milvus.proto.common.MsgBase\x12\x0f\n\x07\x64\x62_name\x18\x02 \x01(\t\x12\x17\n\x0f\x63ollection_name\x18\x03 \x01(\t\x12\x12\n\nfield_name\x18\x04 \x01(\t\x12\x12\n\nindex_name\x18\x05 \x01(\t\"v\n\x1dGetIndexBuildProgressResponse\x12+\n\x06status\x18\x01 \x01(\x0b\x32\x1b.milvus.proto.common.Status\x12\x14\n\x0cindexed_rows\x18\x02 \x01(\x03\x12\x12\n\ntotal_rows\x18\x03 \x01(\x03\"\x94\x01\n\x14GetIndexStateRequest\x12*\n\x04\x62\x61se\x18\x01 \x01(\x0b\x32\x1c.milvus.proto.common.MsgBase\x12\x0f\n\x07\x64\x62_name\x18\x02 \x01(\t\x12\x17\n\x0f\x63ollection_name\x18\x03 \x01(\t\x12\x12\n\nfield_name\x18\x04 \x01(\t\x12\x12\n\nindex_name\x18\x05 \x01(\t\"\x89\x01\n\x15GetIndexStateResponse\x12+\n\x06status\x18\x01 \x01(\x0b\x32\x1b.milvus.proto.common.Status\x12.\n\x05state\x18\x02 \x01(\x0e\x32\x1f.milvus.proto.common.IndexState\x12\x13\n\x0b\x66\x61il_reason\x18\x03 \x01(\t\"\x90\x01\n\x10\x44ropIndexRequest\x12*\n\x04\x62\x61se\x18\x01 \x01(\x0b\x32\x1c.milvus.proto.common.MsgBase\x12\x0f\n\x07\x64\x62_name\x18\x02 \x01(\t\x12\x17\n\x0f\x63ollection_name\x18\x03 \x01(\t\x12\x12\n\nfield_name\x18\x04 \x01(\t\x12\x12\n\nindex_name\x18\x05 \x01(\t\"\xd7\x01\n\rInsertRequest\x12*\n\x04\x62\x61se\x18\x01 \x01(\x0b\x32\x1c.milvus.proto.common.MsgBase\x12\x0f\n\x07\x64\x62_name\x18\x02 \x01(\t\x12\x17\n\x0f\x63ollection_name\x18\x03 \x01(\t\x12\x16\n\x0epartition_name\x18\x04 \x01(\t\x12\x33\n\x0b\x66ields_data\x18\x05 \x03(\x0b\x32\x1e.milvus.proto.schema.FieldData\x12\x11\n\thash_keys\x18\x06 \x03(\r\x12\x10\n\x08num_rows\x18\x07 \x01(\r\"\xf0\x01\n\x0eMutationResult\x12+\n\x06status\x18\x01 \x01(\x0b\x32\x1b.milvus.proto.common.Status\x12%\n\x03IDs\x18\x02 \x01(\x0b\x32\x18.milvus.proto.schema.IDs\x12\x12\n\nsucc_index\x18\x03 \x03(\r\x12\x11\n\terr_index\x18\x04 \x03(\r\x12\x14\n\x0c\x61\x63knowledged\x18\x05 \x01(\x08\x12\x12\n\ninsert_cnt\x18\x06 \x01(\x03\x12\x12\n\ndelete_cnt\x18\x07 \x01(\x03\x12\x12\n\nupsert_cnt\x18\x08 \x01(\x03\x12\x11\n\ttimestamp\x18\t \x01(\x04\"\x8b\x01\n\rDeleteRequest\x12*\n\x04\x62\x61se\x18\x01 \x01(\x0b\x32\x1c.milvus.proto.common.MsgBase\x12\x0f\n\x07\x64\x62_name\x18\x02 \x01(\t\x12\x17\n\x0f\x63ollection_name\x18\x03 \x01(\t\x12\x16\n\x0epartition_name\x18\x04 \x01(\t\x12\x0c\n\x04\x65xpr\x18\x05 \x01(\t\"c\n\x10PlaceholderValue\x12\x0b\n\x03tag\x18\x01 \x01(\t\x12\x32\n\x04type\x18\x02 \x01(\x0e\x32$.milvus.proto.milvus.PlaceholderType\x12\x0e\n\x06values\x18\x03 \x03(\x0c\"O\n\x10PlaceholderGroup\x12;\n\x0cplaceholders\x18\x01 \x03(\x0b\x32%.milvus.proto.milvus.PlaceholderValue\"\xde\x02\n\rSearchRequest\x12*\n\x04\x62\x61se\x18\x01 \x01(\x0b\x32\x1c.milvus.proto.common.MsgBase\x12\x0f\n\x07\x64\x62_name\x18\x02 \x01(\t\x12\x17\n\x0f\x63ollection_name\x18\x03 \x01(\t\x12\x17\n\x0fpartition_names\x18\x04 \x03(\t\x12\x0b\n\x03\x64sl\x18\x05 \x01(\t\x12\x19\n\x11placeholder_group\x18\x06 \x01(\x0c\x12.\n\x08\x64sl_type\x18\x07 \x01(\x0e\x32\x1c.milvus.proto.common.DslType\x12\x15\n\routput_fields\x18\x08 \x03(\t\x12\x38\n\rsearch_params\x18\t \x03(\x0b\x32!.milvus.proto.common.KeyValuePair\x12\x18\n\x10travel_timestamp\x18\n \x01(\x04\x12\x1b\n\x13guarantee_timestamp\x18\x0b \x01(\x04\"5\n\x04Hits\x12\x0b\n\x03IDs\x18\x01 \x03(\x03\x12\x10\n\x08row_data\x18\x02 \x03(\x0c\x12\x0e\n\x06scores\x18\x03 \x03(\x02\"t\n\rSearchResults\x12+\n\x06status\x18\x01 \x01(\x0b\x32\x1b.milvus.proto.common.Status\x12\x36\n\x07results\x18\x02 \x01(\x0b\x32%.milvus.proto.schema.SearchResultData\"e\n\x0c\x46lushRequest\x12*\n\x04\x62\x61se\x18\x01 \x01(\x0b\x32\x1c.milvus.proto.common.MsgBase\x12\x0f\n\x07\x64\x62_name\x18\x02 \x01(\t\x12\x18\n\x10\x63ollection_names\x18\x03 \x03(\t\"\xe9\x01\n\rFlushResponse\x12+\n\x06status\x18\x01 \x01(\x0b\x32\x1b.milvus.proto.common.Status\x12\x0f\n\x07\x64\x62_name\x18\x02 \x01(\t\x12G\n\x0b\x63oll_segIDs\x18\x03 \x03(\x0b\x32\x32.milvus.proto.milvus.FlushResponse.CollSegIDsEntry\x1aQ\n\x0f\x43ollSegIDsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12-\n\x05value\x18\x02 \x01(\x0b\x32\x1e.milvus.proto.schema.LongArray:\x02\x38\x01\"\xd9\x01\n\x0cQueryRequest\x12*\n\x04\x62\x61se\x18\x01 \x01(\x0b\x32\x1c.milvus.proto.common.MsgBase\x12\x0f\n\x07\x64\x62_name\x18\x02 \x01(\t\x12\x17\n\x0f\x63ollection_name\x18\x03 \x01(\t\x12\x0c\n\x04\x65xpr\x18\x04 \x01(\t\x12\x15\n\routput_fields\x18\x05 \x03(\t\x12\x17\n\x0fpartition_names\x18\x06 \x03(\t\x12\x18\n\x10travel_timestamp\x18\x07 \x01(\x04\x12\x1b\n\x13guarantee_timestamp\x18\x08 \x01(\x04\"p\n\x0cQueryResults\x12+\n\x06status\x18\x01 \x01(\x0b\x32\x1b.milvus.proto.common.Status\x12\x33\n\x0b\x66ields_data\x18\x02 \x03(\x0b\x32\x1e.milvus.proto.schema.FieldData\"}\n\tVectorIDs\x12\x17\n\x0f\x63ollection_name\x18\x01 \x01(\t\x12\x12\n\nfield_name\x18\x02 \x01(\t\x12*\n\x08id_array\x18\x03 \x01(\x0b\x32\x18.milvus.proto.schema.IDs\x12\x17\n\x0fpartition_names\x18\x04 \x03(\t\"\x83\x01\n\x0cVectorsArray\x12\x32\n\x08id_array\x18\x01 \x01(\x0b\x32\x1e.milvus.proto.milvus.VectorIDsH\x00\x12\x36\n\ndata_array\x18\x02 \x01(\x0b\x32 .milvus.proto.schema.VectorFieldH\x00\x42\x07\n\x05\x61rray\"\xdd\x01\n\x13\x43\x61lcDistanceRequest\x12*\n\x04\x62\x61se\x18\x01 \x01(\x0b\x32\x1c.milvus.proto.common.MsgBase\x12\x32\n\x07op_left\x18\x02 \x01(\x0b\x32!.milvus.proto.milvus.VectorsArray\x12\x33\n\x08op_right\x18\x03 \x01(\x0b\x32!.milvus.proto.milvus.VectorsArray\x12\x31\n\x06params\x18\x04 \x03(\x0b\x32!.milvus.proto.common.KeyValuePair\"\xb5\x01\n\x13\x43\x61lcDistanceResults\x12+\n\x06status\x18\x01 \x01(\x0b\x32\x1b.milvus.proto.common.Status\x12\x31\n\x08int_dist\x18\x02 \x01(\x0b\x32\x1d.milvus.proto.schema.IntArrayH\x00\x12\x35\n\nfloat_dist\x18\x03 \x01(\x0b\x32\x1f.milvus.proto.schema.FloatArrayH\x00\x42\x07\n\x05\x61rray\"\x99\x01\n\x15PersistentSegmentInfo\x12\x11\n\tsegmentID\x18\x01 \x01(\x03\x12\x14\n\x0c\x63ollectionID\x18\x02 \x01(\x03\x12\x13\n\x0bpartitionID\x18\x03 \x01(\x03\x12\x10\n\x08num_rows\x18\x04 \x01(\x03\x12\x30\n\x05state\x18\x05 \x01(\x0e\x32!.milvus.proto.common.SegmentState\"u\n\x1fGetPersistentSegmentInfoRequest\x12*\n\x04\x62\x61se\x18\x01 \x01(\x0b\x32\x1c.milvus.proto.common.MsgBase\x12\x0e\n\x06\x64\x62Name\x18\x02 \x01(\t\x12\x16\n\x0e\x63ollectionName\x18\x03 \x01(\t\"\x8a\x01\n GetPersistentSegmentInfoResponse\x12+\n\x06status\x18\x01 \x01(\x0b\x32\x1b.milvus.proto.common.Status\x12\x39\n\x05infos\x18\x02 \x03(\x0b\x32*.milvus.proto.milvus.PersistentSegmentInfo\"\x99\x01\n\x10QuerySegmentInfo\x12\x11\n\tsegmentID\x18\x01 \x01(\x03\x12\x14\n\x0c\x63ollectionID\x18\x02 \x01(\x03\x12\x13\n\x0bpartitionID\x18\x03 \x01(\x03\x12\x10\n\x08mem_size\x18\x04 \x01(\x03\x12\x10\n\x08num_rows\x18\x05 \x01(\x03\x12\x12\n\nindex_name\x18\x06 \x01(\t\x12\x0f\n\x07indexID\x18\x07 \x01(\x03\"p\n\x1aGetQuerySegmentInfoRequest\x12*\n\x04\x62\x61se\x18\x01 \x01(\x0b\x32\x1c.milvus.proto.common.MsgBase\x12\x0e\n\x06\x64\x62Name\x18\x02 \x01(\t\x12\x16\n\x0e\x63ollectionName\x18\x03 \x01(\t\"\x80\x01\n\x1bGetQuerySegmentInfoResponse\x12+\n\x06status\x18\x01 \x01(\x0b\x32\x1b.milvus.proto.common.Status\x12\x34\n\x05infos\x18\x02 \x03(\x0b\x32%.milvus.proto.milvus.QuerySegmentInfo\"$\n\x0c\x44ummyRequest\x12\x14\n\x0crequest_type\x18\x01 \x01(\t\"!\n\rDummyResponse\x12\x10\n\x08response\x18\x01 \x01(\t\"\x15\n\x13RegisterLinkRequest\"r\n\x14RegisterLinkResponse\x12-\n\x07\x61\x64\x64ress\x18\x01 \x01(\x0b\x32\x1c.milvus.proto.common.Address\x12+\n\x06status\x18\x02 \x01(\x0b\x32\x1b.milvus.proto.common.Status\"P\n\x11GetMetricsRequest\x12*\n\x04\x62\x61se\x18\x01 \x01(\x0b\x32\x1c.milvus.proto.common.MsgBase\x12\x0f\n\x07request\x18\x02 \x01(\t\"k\n\x12GetMetricsResponse\x12+\n\x06status\x18\x01 \x01(\x0b\x32\x1b.milvus.proto.common.Status\x12\x10\n\x08response\x18\x02 \x01(\t\x12\x16\n\x0e\x63omponent_name\x18\x03 \x01(\t*!\n\x08ShowType\x12\x07\n\x03\x41ll\x10\x00\x12\x0c\n\x08InMemory\x10\x01*>\n\x0fPlaceholderType\x12\x08\n\x04None\x10\x00\x12\x10\n\x0c\x42inaryVector\x10\x64\x12\x0f\n\x0b\x46loatVector\x10\x65\x32\xd5\x1a\n\rMilvusService\x12_\n\x10\x43reateCollection\x12,.milvus.proto.milvus.CreateCollectionRequest\x1a\x1b.milvus.proto.common.Status\"\x00\x12[\n\x0e\x44ropCollection\x12*.milvus.proto.milvus.DropCollectionRequest\x1a\x1b.milvus.proto.common.Status\"\x00\x12_\n\rHasCollection\x12).milvus.proto.milvus.HasCollectionRequest\x1a!.milvus.proto.milvus.BoolResponse\"\x00\x12[\n\x0eLoadCollection\x12*.milvus.proto.milvus.LoadCollectionRequest\x1a\x1b.milvus.proto.common.Status\"\x00\x12\x61\n\x11ReleaseCollection\x12-.milvus.proto.milvus.ReleaseCollectionRequest\x1a\x1b.milvus.proto.common.Status\"\x00\x12w\n\x12\x44\x65scribeCollection\x12..milvus.proto.milvus.DescribeCollectionRequest\x1a/.milvus.proto.milvus.DescribeCollectionResponse\"\x00\x12\x86\x01\n\x17GetCollectionStatistics\x12\x33.milvus.proto.milvus.GetCollectionStatisticsRequest\x1a\x34.milvus.proto.milvus.GetCollectionStatisticsResponse\"\x00\x12n\n\x0fShowCollections\x12+.milvus.proto.milvus.ShowCollectionsRequest\x1a,.milvus.proto.milvus.ShowCollectionsResponse\"\x00\x12]\n\x0f\x43reatePartition\x12+.milvus.proto.milvus.CreatePartitionRequest\x1a\x1b.milvus.proto.common.Status\"\x00\x12Y\n\rDropPartition\x12).milvus.proto.milvus.DropPartitionRequest\x1a\x1b.milvus.proto.common.Status\"\x00\x12]\n\x0cHasPartition\x12(.milvus.proto.milvus.HasPartitionRequest\x1a!.milvus.proto.milvus.BoolResponse\"\x00\x12[\n\x0eLoadPartitions\x12*.milvus.proto.milvus.LoadPartitionsRequest\x1a\x1b.milvus.proto.common.Status\"\x00\x12\x61\n\x11ReleasePartitions\x12-.milvus.proto.milvus.ReleasePartitionsRequest\x1a\x1b.milvus.proto.common.Status\"\x00\x12\x83\x01\n\x16GetPartitionStatistics\x12\x32.milvus.proto.milvus.GetPartitionStatisticsRequest\x1a\x33.milvus.proto.milvus.GetPartitionStatisticsResponse\"\x00\x12k\n\x0eShowPartitions\x12*.milvus.proto.milvus.ShowPartitionsRequest\x1a+.milvus.proto.milvus.ShowPartitionsResponse\"\x00\x12U\n\x0b\x43reateAlias\x12\'.milvus.proto.milvus.CreateAliasRequest\x1a\x1b.milvus.proto.common.Status\"\x00\x12Q\n\tDropAlias\x12%.milvus.proto.milvus.DropAliasRequest\x1a\x1b.milvus.proto.common.Status\"\x00\x12S\n\nAlterAlias\x12&.milvus.proto.milvus.AlterAliasRequest\x1a\x1b.milvus.proto.common.Status\"\x00\x12U\n\x0b\x43reateIndex\x12\'.milvus.proto.milvus.CreateIndexRequest\x1a\x1b.milvus.proto.common.Status\"\x00\x12h\n\rDescribeIndex\x12).milvus.proto.milvus.DescribeIndexRequest\x1a*.milvus.proto.milvus.DescribeIndexResponse\"\x00\x12h\n\rGetIndexState\x12).milvus.proto.milvus.GetIndexStateRequest\x1a*.milvus.proto.milvus.GetIndexStateResponse\"\x00\x12\x80\x01\n\x15GetIndexBuildProgress\x12\x31.milvus.proto.milvus.GetIndexBuildProgressRequest\x1a\x32.milvus.proto.milvus.GetIndexBuildProgressResponse\"\x00\x12Q\n\tDropIndex\x12%.milvus.proto.milvus.DropIndexRequest\x1a\x1b.milvus.proto.common.Status\"\x00\x12S\n\x06Insert\x12\".milvus.proto.milvus.InsertRequest\x1a#.milvus.proto.milvus.MutationResult\"\x00\x12S\n\x06\x44\x65lete\x12\".milvus.proto.milvus.DeleteRequest\x1a#.milvus.proto.milvus.MutationResult\"\x00\x12R\n\x06Search\x12\".milvus.proto.milvus.SearchRequest\x1a\".milvus.proto.milvus.SearchResults\"\x00\x12P\n\x05\x46lush\x12!.milvus.proto.milvus.FlushRequest\x1a\".milvus.proto.milvus.FlushResponse\"\x00\x12O\n\x05Query\x12!.milvus.proto.milvus.QueryRequest\x1a!.milvus.proto.milvus.QueryResults\"\x00\x12\x64\n\x0c\x43\x61lcDistance\x12(.milvus.proto.milvus.CalcDistanceRequest\x1a(.milvus.proto.milvus.CalcDistanceResults\"\x00\x12\x89\x01\n\x18GetPersistentSegmentInfo\x12\x34.milvus.proto.milvus.GetPersistentSegmentInfoRequest\x1a\x35.milvus.proto.milvus.GetPersistentSegmentInfoResponse\"\x00\x12z\n\x13GetQuerySegmentInfo\x12/.milvus.proto.milvus.GetQuerySegmentInfoRequest\x1a\x30.milvus.proto.milvus.GetQuerySegmentInfoResponse\"\x00\x12P\n\x05\x44ummy\x12!.milvus.proto.milvus.DummyRequest\x1a\".milvus.proto.milvus.DummyResponse\"\x00\x12\x65\n\x0cRegisterLink\x12(.milvus.proto.milvus.RegisterLinkRequest\x1a).milvus.proto.milvus.RegisterLinkResponse\"\x00\x12_\n\nGetMetrics\x12&.milvus.proto.milvus.GetMetricsRequest\x1a\'.milvus.proto.milvus.GetMetricsResponse\"\x00\x32u\n\x0cProxyService\x12\x65\n\x0cRegisterLink\x12(.milvus.proto.milvus.RegisterLinkRequest\x1a).milvus.proto.milvus.RegisterLinkResponse\"\x00\x42\x35Z3github.com/milvus-io/milvus/internal/proto/milvuspbb\x06proto3' + serialized_pb=b'\n\x0cmilvus.proto\x12\x13milvus.proto.milvus\x1a\x0c\x63ommon.proto\x1a\x0cschema.proto\"y\n\x12\x43reateAliasRequest\x12*\n\x04\x62\x61se\x18\x01 \x01(\x0b\x32\x1c.milvus.proto.common.MsgBase\x12\x0f\n\x07\x64\x62_name\x18\x02 \x01(\t\x12\x17\n\x0f\x63ollection_name\x18\x03 \x01(\t\x12\r\n\x05\x61lias\x18\x04 \x01(\t\"^\n\x10\x44ropAliasRequest\x12*\n\x04\x62\x61se\x18\x01 \x01(\x0b\x32\x1c.milvus.proto.common.MsgBase\x12\x0f\n\x07\x64\x62_name\x18\x02 \x01(\t\x12\r\n\x05\x61lias\x18\x03 \x01(\t\"x\n\x11\x41lterAliasRequest\x12*\n\x04\x62\x61se\x18\x01 \x01(\x0b\x32\x1c.milvus.proto.common.MsgBase\x12\x0f\n\x07\x64\x62_name\x18\x02 \x01(\t\x12\x17\n\x0f\x63ollection_name\x18\x03 \x01(\t\x12\r\n\x05\x61lias\x18\x04 \x01(\t\"\x93\x01\n\x17\x43reateCollectionRequest\x12*\n\x04\x62\x61se\x18\x01 \x01(\x0b\x32\x1c.milvus.proto.common.MsgBase\x12\x0f\n\x07\x64\x62_name\x18\x02 \x01(\t\x12\x17\n\x0f\x63ollection_name\x18\x03 \x01(\t\x12\x0e\n\x06schema\x18\x04 \x01(\x0c\x12\x12\n\nshards_num\x18\x05 \x01(\x05\"m\n\x15\x44ropCollectionRequest\x12*\n\x04\x62\x61se\x18\x01 \x01(\x0b\x32\x1c.milvus.proto.common.MsgBase\x12\x0f\n\x07\x64\x62_name\x18\x02 \x01(\t\x12\x17\n\x0f\x63ollection_name\x18\x03 \x01(\t\"\x80\x01\n\x14HasCollectionRequest\x12*\n\x04\x62\x61se\x18\x01 \x01(\x0b\x32\x1c.milvus.proto.common.MsgBase\x12\x0f\n\x07\x64\x62_name\x18\x02 \x01(\t\x12\x17\n\x0f\x63ollection_name\x18\x03 \x01(\t\x12\x12\n\ntime_stamp\x18\x04 \x01(\x04\"J\n\x0c\x42oolResponse\x12+\n\x06status\x18\x01 \x01(\x0b\x32\x1b.milvus.proto.common.Status\x12\r\n\x05value\x18\x02 \x01(\x08\"L\n\x0eStringResponse\x12+\n\x06status\x18\x01 \x01(\x0b\x32\x1b.milvus.proto.common.Status\x12\r\n\x05value\x18\x02 \x01(\t\"\x9b\x01\n\x19\x44\x65scribeCollectionRequest\x12*\n\x04\x62\x61se\x18\x01 \x01(\x0b\x32\x1c.milvus.proto.common.MsgBase\x12\x0f\n\x07\x64\x62_name\x18\x02 \x01(\t\x12\x17\n\x0f\x63ollection_name\x18\x03 \x01(\t\x12\x14\n\x0c\x63ollectionID\x18\x04 \x01(\x03\x12\x12\n\ntime_stamp\x18\x05 \x01(\x04\"\xef\x02\n\x1a\x44\x65scribeCollectionResponse\x12+\n\x06status\x18\x01 \x01(\x0b\x32\x1b.milvus.proto.common.Status\x12\x35\n\x06schema\x18\x02 \x01(\x0b\x32%.milvus.proto.schema.CollectionSchema\x12\x14\n\x0c\x63ollectionID\x18\x03 \x01(\x03\x12\x1d\n\x15virtual_channel_names\x18\x04 \x03(\t\x12\x1e\n\x16physical_channel_names\x18\x05 \x03(\t\x12\x19\n\x11\x63reated_timestamp\x18\x06 \x01(\x04\x12\x1d\n\x15\x63reated_utc_timestamp\x18\x07 \x01(\x04\x12\x12\n\nshards_num\x18\x08 \x01(\x05\x12\x0f\n\x07\x61liases\x18\t \x03(\t\x12\x39\n\x0fstart_positions\x18\n \x03(\x0b\x32 .milvus.proto.common.KeyDataPair\"m\n\x15LoadCollectionRequest\x12*\n\x04\x62\x61se\x18\x01 \x01(\x0b\x32\x1c.milvus.proto.common.MsgBase\x12\x0f\n\x07\x64\x62_name\x18\x02 \x01(\t\x12\x17\n\x0f\x63ollection_name\x18\x03 \x01(\t\"p\n\x18ReleaseCollectionRequest\x12*\n\x04\x62\x61se\x18\x01 \x01(\x0b\x32\x1c.milvus.proto.common.MsgBase\x12\x0f\n\x07\x64\x62_name\x18\x02 \x01(\t\x12\x17\n\x0f\x63ollection_name\x18\x03 \x01(\t\"v\n\x1eGetCollectionStatisticsRequest\x12*\n\x04\x62\x61se\x18\x01 \x01(\x0b\x32\x1c.milvus.proto.common.MsgBase\x12\x0f\n\x07\x64\x62_name\x18\x02 \x01(\t\x12\x17\n\x0f\x63ollection_name\x18\x03 \x01(\t\"\x80\x01\n\x1fGetCollectionStatisticsResponse\x12+\n\x06status\x18\x01 \x01(\x0b\x32\x1b.milvus.proto.common.Status\x12\x30\n\x05stats\x18\x02 \x03(\x0b\x32!.milvus.proto.common.KeyValuePair\"\xb0\x01\n\x16ShowCollectionsRequest\x12*\n\x04\x62\x61se\x18\x01 \x01(\x0b\x32\x1c.milvus.proto.common.MsgBase\x12\x0f\n\x07\x64\x62_name\x18\x02 \x01(\t\x12\x12\n\ntime_stamp\x18\x03 \x01(\x04\x12+\n\x04type\x18\x04 \x01(\x0e\x32\x1d.milvus.proto.milvus.ShowType\x12\x18\n\x10\x63ollection_names\x18\x05 \x03(\t\"\xd2\x01\n\x17ShowCollectionsResponse\x12+\n\x06status\x18\x01 \x01(\x0b\x32\x1b.milvus.proto.common.Status\x12\x18\n\x10\x63ollection_names\x18\x02 \x03(\t\x12\x16\n\x0e\x63ollection_ids\x18\x03 \x03(\x03\x12\x1a\n\x12\x63reated_timestamps\x18\x04 \x03(\x04\x12\x1e\n\x16\x63reated_utc_timestamps\x18\x05 \x03(\x04\x12\x1c\n\x14inMemory_percentages\x18\x06 \x03(\x03\"\x86\x01\n\x16\x43reatePartitionRequest\x12*\n\x04\x62\x61se\x18\x01 \x01(\x0b\x32\x1c.milvus.proto.common.MsgBase\x12\x0f\n\x07\x64\x62_name\x18\x02 \x01(\t\x12\x17\n\x0f\x63ollection_name\x18\x03 \x01(\t\x12\x16\n\x0epartition_name\x18\x04 \x01(\t\"\x84\x01\n\x14\x44ropPartitionRequest\x12*\n\x04\x62\x61se\x18\x01 \x01(\x0b\x32\x1c.milvus.proto.common.MsgBase\x12\x0f\n\x07\x64\x62_name\x18\x02 \x01(\t\x12\x17\n\x0f\x63ollection_name\x18\x03 \x01(\t\x12\x16\n\x0epartition_name\x18\x04 \x01(\t\"\x83\x01\n\x13HasPartitionRequest\x12*\n\x04\x62\x61se\x18\x01 \x01(\x0b\x32\x1c.milvus.proto.common.MsgBase\x12\x0f\n\x07\x64\x62_name\x18\x02 \x01(\t\x12\x17\n\x0f\x63ollection_name\x18\x03 \x01(\t\x12\x16\n\x0epartition_name\x18\x04 \x01(\t\"\x86\x01\n\x15LoadPartitionsRequest\x12*\n\x04\x62\x61se\x18\x01 \x01(\x0b\x32\x1c.milvus.proto.common.MsgBase\x12\x0f\n\x07\x64\x62_name\x18\x02 \x01(\t\x12\x17\n\x0f\x63ollection_name\x18\x03 \x01(\t\x12\x17\n\x0fpartition_names\x18\x04 \x03(\t\"\x89\x01\n\x18ReleasePartitionsRequest\x12*\n\x04\x62\x61se\x18\x01 \x01(\x0b\x32\x1c.milvus.proto.common.MsgBase\x12\x0f\n\x07\x64\x62_name\x18\x02 \x01(\t\x12\x17\n\x0f\x63ollection_name\x18\x03 \x01(\t\x12\x17\n\x0fpartition_names\x18\x04 \x03(\t\"\x8d\x01\n\x1dGetPartitionStatisticsRequest\x12*\n\x04\x62\x61se\x18\x01 \x01(\x0b\x32\x1c.milvus.proto.common.MsgBase\x12\x0f\n\x07\x64\x62_name\x18\x02 \x01(\t\x12\x17\n\x0f\x63ollection_name\x18\x03 \x01(\t\x12\x16\n\x0epartition_name\x18\x04 \x01(\t\"\x7f\n\x1eGetPartitionStatisticsResponse\x12+\n\x06status\x18\x01 \x01(\x0b\x32\x1b.milvus.proto.common.Status\x12\x30\n\x05stats\x18\x02 \x03(\x0b\x32!.milvus.proto.common.KeyValuePair\"\xc9\x01\n\x15ShowPartitionsRequest\x12*\n\x04\x62\x61se\x18\x01 \x01(\x0b\x32\x1c.milvus.proto.common.MsgBase\x12\x0f\n\x07\x64\x62_name\x18\x02 \x01(\t\x12\x17\n\x0f\x63ollection_name\x18\x03 \x01(\t\x12\x14\n\x0c\x63ollectionID\x18\x04 \x01(\x03\x12\x17\n\x0fpartition_names\x18\x05 \x03(\t\x12+\n\x04type\x18\x06 \x01(\x0e\x32\x1d.milvus.proto.milvus.ShowType\"\xce\x01\n\x16ShowPartitionsResponse\x12+\n\x06status\x18\x01 \x01(\x0b\x32\x1b.milvus.proto.common.Status\x12\x17\n\x0fpartition_names\x18\x02 \x03(\t\x12\x14\n\x0cpartitionIDs\x18\x03 \x03(\x03\x12\x1a\n\x12\x63reated_timestamps\x18\x04 \x03(\x04\x12\x1e\n\x16\x63reated_utc_timestamps\x18\x05 \x03(\x04\x12\x1c\n\x14inMemory_percentages\x18\x06 \x03(\x03\"m\n\x16\x44\x65scribeSegmentRequest\x12*\n\x04\x62\x61se\x18\x01 \x01(\x0b\x32\x1c.milvus.proto.common.MsgBase\x12\x14\n\x0c\x63ollectionID\x18\x02 \x01(\x03\x12\x11\n\tsegmentID\x18\x03 \x01(\x03\"~\n\x17\x44\x65scribeSegmentResponse\x12+\n\x06status\x18\x01 \x01(\x0b\x32\x1b.milvus.proto.common.Status\x12\x0f\n\x07indexID\x18\x02 \x01(\x03\x12\x0f\n\x07\x62uildID\x18\x03 \x01(\x03\x12\x14\n\x0c\x65nable_index\x18\x04 \x01(\x08\"l\n\x13ShowSegmentsRequest\x12*\n\x04\x62\x61se\x18\x01 \x01(\x0b\x32\x1c.milvus.proto.common.MsgBase\x12\x14\n\x0c\x63ollectionID\x18\x02 \x01(\x03\x12\x13\n\x0bpartitionID\x18\x03 \x01(\x03\"W\n\x14ShowSegmentsResponse\x12+\n\x06status\x18\x01 \x01(\x0b\x32\x1b.milvus.proto.common.Status\x12\x12\n\nsegmentIDs\x18\x02 \x03(\x03\"\xb7\x01\n\x12\x43reateIndexRequest\x12*\n\x04\x62\x61se\x18\x01 \x01(\x0b\x32\x1c.milvus.proto.common.MsgBase\x12\x0f\n\x07\x64\x62_name\x18\x02 \x01(\t\x12\x17\n\x0f\x63ollection_name\x18\x03 \x01(\t\x12\x12\n\nfield_name\x18\x04 \x01(\t\x12\x37\n\x0c\x65xtra_params\x18\x05 \x03(\x0b\x32!.milvus.proto.common.KeyValuePair\"\x94\x01\n\x14\x44\x65scribeIndexRequest\x12*\n\x04\x62\x61se\x18\x01 \x01(\x0b\x32\x1c.milvus.proto.common.MsgBase\x12\x0f\n\x07\x64\x62_name\x18\x02 \x01(\t\x12\x17\n\x0f\x63ollection_name\x18\x03 \x01(\t\x12\x12\n\nfield_name\x18\x04 \x01(\t\x12\x12\n\nindex_name\x18\x05 \x01(\t\"~\n\x10IndexDescription\x12\x12\n\nindex_name\x18\x01 \x01(\t\x12\x0f\n\x07indexID\x18\x02 \x01(\x03\x12\x31\n\x06params\x18\x03 \x03(\x0b\x32!.milvus.proto.common.KeyValuePair\x12\x12\n\nfield_name\x18\x04 \x01(\t\"\x87\x01\n\x15\x44\x65scribeIndexResponse\x12+\n\x06status\x18\x01 \x01(\x0b\x32\x1b.milvus.proto.common.Status\x12\x41\n\x12index_descriptions\x18\x02 \x03(\x0b\x32%.milvus.proto.milvus.IndexDescription\"\x9c\x01\n\x1cGetIndexBuildProgressRequest\x12*\n\x04\x62\x61se\x18\x01 \x01(\x0b\x32\x1c.milvus.proto.common.MsgBase\x12\x0f\n\x07\x64\x62_name\x18\x02 \x01(\t\x12\x17\n\x0f\x63ollection_name\x18\x03 \x01(\t\x12\x12\n\nfield_name\x18\x04 \x01(\t\x12\x12\n\nindex_name\x18\x05 \x01(\t\"v\n\x1dGetIndexBuildProgressResponse\x12+\n\x06status\x18\x01 \x01(\x0b\x32\x1b.milvus.proto.common.Status\x12\x14\n\x0cindexed_rows\x18\x02 \x01(\x03\x12\x12\n\ntotal_rows\x18\x03 \x01(\x03\"\x94\x01\n\x14GetIndexStateRequest\x12*\n\x04\x62\x61se\x18\x01 \x01(\x0b\x32\x1c.milvus.proto.common.MsgBase\x12\x0f\n\x07\x64\x62_name\x18\x02 \x01(\t\x12\x17\n\x0f\x63ollection_name\x18\x03 \x01(\t\x12\x12\n\nfield_name\x18\x04 \x01(\t\x12\x12\n\nindex_name\x18\x05 \x01(\t\"\x89\x01\n\x15GetIndexStateResponse\x12+\n\x06status\x18\x01 \x01(\x0b\x32\x1b.milvus.proto.common.Status\x12.\n\x05state\x18\x02 \x01(\x0e\x32\x1f.milvus.proto.common.IndexState\x12\x13\n\x0b\x66\x61il_reason\x18\x03 \x01(\t\"\x90\x01\n\x10\x44ropIndexRequest\x12*\n\x04\x62\x61se\x18\x01 \x01(\x0b\x32\x1c.milvus.proto.common.MsgBase\x12\x0f\n\x07\x64\x62_name\x18\x02 \x01(\t\x12\x17\n\x0f\x63ollection_name\x18\x03 \x01(\t\x12\x12\n\nfield_name\x18\x04 \x01(\t\x12\x12\n\nindex_name\x18\x05 \x01(\t\"\xd7\x01\n\rInsertRequest\x12*\n\x04\x62\x61se\x18\x01 \x01(\x0b\x32\x1c.milvus.proto.common.MsgBase\x12\x0f\n\x07\x64\x62_name\x18\x02 \x01(\t\x12\x17\n\x0f\x63ollection_name\x18\x03 \x01(\t\x12\x16\n\x0epartition_name\x18\x04 \x01(\t\x12\x33\n\x0b\x66ields_data\x18\x05 \x03(\x0b\x32\x1e.milvus.proto.schema.FieldData\x12\x11\n\thash_keys\x18\x06 \x03(\r\x12\x10\n\x08num_rows\x18\x07 \x01(\r\"\xf0\x01\n\x0eMutationResult\x12+\n\x06status\x18\x01 \x01(\x0b\x32\x1b.milvus.proto.common.Status\x12%\n\x03IDs\x18\x02 \x01(\x0b\x32\x18.milvus.proto.schema.IDs\x12\x12\n\nsucc_index\x18\x03 \x03(\r\x12\x11\n\terr_index\x18\x04 \x03(\r\x12\x14\n\x0c\x61\x63knowledged\x18\x05 \x01(\x08\x12\x12\n\ninsert_cnt\x18\x06 \x01(\x03\x12\x12\n\ndelete_cnt\x18\x07 \x01(\x03\x12\x12\n\nupsert_cnt\x18\x08 \x01(\x03\x12\x11\n\ttimestamp\x18\t \x01(\x04\"\x8b\x01\n\rDeleteRequest\x12*\n\x04\x62\x61se\x18\x01 \x01(\x0b\x32\x1c.milvus.proto.common.MsgBase\x12\x0f\n\x07\x64\x62_name\x18\x02 \x01(\t\x12\x17\n\x0f\x63ollection_name\x18\x03 \x01(\t\x12\x16\n\x0epartition_name\x18\x04 \x01(\t\x12\x0c\n\x04\x65xpr\x18\x05 \x01(\t\"c\n\x10PlaceholderValue\x12\x0b\n\x03tag\x18\x01 \x01(\t\x12\x32\n\x04type\x18\x02 \x01(\x0e\x32$.milvus.proto.milvus.PlaceholderType\x12\x0e\n\x06values\x18\x03 \x03(\x0c\"O\n\x10PlaceholderGroup\x12;\n\x0cplaceholders\x18\x01 \x03(\x0b\x32%.milvus.proto.milvus.PlaceholderValue\"\xde\x02\n\rSearchRequest\x12*\n\x04\x62\x61se\x18\x01 \x01(\x0b\x32\x1c.milvus.proto.common.MsgBase\x12\x0f\n\x07\x64\x62_name\x18\x02 \x01(\t\x12\x17\n\x0f\x63ollection_name\x18\x03 \x01(\t\x12\x17\n\x0fpartition_names\x18\x04 \x03(\t\x12\x0b\n\x03\x64sl\x18\x05 \x01(\t\x12\x19\n\x11placeholder_group\x18\x06 \x01(\x0c\x12.\n\x08\x64sl_type\x18\x07 \x01(\x0e\x32\x1c.milvus.proto.common.DslType\x12\x15\n\routput_fields\x18\x08 \x03(\t\x12\x38\n\rsearch_params\x18\t \x03(\x0b\x32!.milvus.proto.common.KeyValuePair\x12\x18\n\x10travel_timestamp\x18\n \x01(\x04\x12\x1b\n\x13guarantee_timestamp\x18\x0b \x01(\x04\"5\n\x04Hits\x12\x0b\n\x03IDs\x18\x01 \x03(\x03\x12\x10\n\x08row_data\x18\x02 \x03(\x0c\x12\x0e\n\x06scores\x18\x03 \x03(\x02\"t\n\rSearchResults\x12+\n\x06status\x18\x01 \x01(\x0b\x32\x1b.milvus.proto.common.Status\x12\x36\n\x07results\x18\x02 \x01(\x0b\x32%.milvus.proto.schema.SearchResultData\"e\n\x0c\x46lushRequest\x12*\n\x04\x62\x61se\x18\x01 \x01(\x0b\x32\x1c.milvus.proto.common.MsgBase\x12\x0f\n\x07\x64\x62_name\x18\x02 \x01(\t\x12\x18\n\x10\x63ollection_names\x18\x03 \x03(\t\"\xe9\x01\n\rFlushResponse\x12+\n\x06status\x18\x01 \x01(\x0b\x32\x1b.milvus.proto.common.Status\x12\x0f\n\x07\x64\x62_name\x18\x02 \x01(\t\x12G\n\x0b\x63oll_segIDs\x18\x03 \x03(\x0b\x32\x32.milvus.proto.milvus.FlushResponse.CollSegIDsEntry\x1aQ\n\x0f\x43ollSegIDsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12-\n\x05value\x18\x02 \x01(\x0b\x32\x1e.milvus.proto.schema.LongArray:\x02\x38\x01\"\xd9\x01\n\x0cQueryRequest\x12*\n\x04\x62\x61se\x18\x01 \x01(\x0b\x32\x1c.milvus.proto.common.MsgBase\x12\x0f\n\x07\x64\x62_name\x18\x02 \x01(\t\x12\x17\n\x0f\x63ollection_name\x18\x03 \x01(\t\x12\x0c\n\x04\x65xpr\x18\x04 \x01(\t\x12\x15\n\routput_fields\x18\x05 \x03(\t\x12\x17\n\x0fpartition_names\x18\x06 \x03(\t\x12\x18\n\x10travel_timestamp\x18\x07 \x01(\x04\x12\x1b\n\x13guarantee_timestamp\x18\x08 \x01(\x04\"p\n\x0cQueryResults\x12+\n\x06status\x18\x01 \x01(\x0b\x32\x1b.milvus.proto.common.Status\x12\x33\n\x0b\x66ields_data\x18\x02 \x03(\x0b\x32\x1e.milvus.proto.schema.FieldData\"}\n\tVectorIDs\x12\x17\n\x0f\x63ollection_name\x18\x01 \x01(\t\x12\x12\n\nfield_name\x18\x02 \x01(\t\x12*\n\x08id_array\x18\x03 \x01(\x0b\x32\x18.milvus.proto.schema.IDs\x12\x17\n\x0fpartition_names\x18\x04 \x03(\t\"\x83\x01\n\x0cVectorsArray\x12\x32\n\x08id_array\x18\x01 \x01(\x0b\x32\x1e.milvus.proto.milvus.VectorIDsH\x00\x12\x36\n\ndata_array\x18\x02 \x01(\x0b\x32 .milvus.proto.schema.VectorFieldH\x00\x42\x07\n\x05\x61rray\"\xdd\x01\n\x13\x43\x61lcDistanceRequest\x12*\n\x04\x62\x61se\x18\x01 \x01(\x0b\x32\x1c.milvus.proto.common.MsgBase\x12\x32\n\x07op_left\x18\x02 \x01(\x0b\x32!.milvus.proto.milvus.VectorsArray\x12\x33\n\x08op_right\x18\x03 \x01(\x0b\x32!.milvus.proto.milvus.VectorsArray\x12\x31\n\x06params\x18\x04 \x03(\x0b\x32!.milvus.proto.common.KeyValuePair\"\xb5\x01\n\x13\x43\x61lcDistanceResults\x12+\n\x06status\x18\x01 \x01(\x0b\x32\x1b.milvus.proto.common.Status\x12\x31\n\x08int_dist\x18\x02 \x01(\x0b\x32\x1d.milvus.proto.schema.IntArrayH\x00\x12\x35\n\nfloat_dist\x18\x03 \x01(\x0b\x32\x1f.milvus.proto.schema.FloatArrayH\x00\x42\x07\n\x05\x61rray\"\x99\x01\n\x15PersistentSegmentInfo\x12\x11\n\tsegmentID\x18\x01 \x01(\x03\x12\x14\n\x0c\x63ollectionID\x18\x02 \x01(\x03\x12\x13\n\x0bpartitionID\x18\x03 \x01(\x03\x12\x10\n\x08num_rows\x18\x04 \x01(\x03\x12\x30\n\x05state\x18\x05 \x01(\x0e\x32!.milvus.proto.common.SegmentState\"u\n\x1fGetPersistentSegmentInfoRequest\x12*\n\x04\x62\x61se\x18\x01 \x01(\x0b\x32\x1c.milvus.proto.common.MsgBase\x12\x0e\n\x06\x64\x62Name\x18\x02 \x01(\t\x12\x16\n\x0e\x63ollectionName\x18\x03 \x01(\t\"\x8a\x01\n GetPersistentSegmentInfoResponse\x12+\n\x06status\x18\x01 \x01(\x0b\x32\x1b.milvus.proto.common.Status\x12\x39\n\x05infos\x18\x02 \x03(\x0b\x32*.milvus.proto.milvus.PersistentSegmentInfo\"\xdb\x01\n\x10QuerySegmentInfo\x12\x11\n\tsegmentID\x18\x01 \x01(\x03\x12\x14\n\x0c\x63ollectionID\x18\x02 \x01(\x03\x12\x13\n\x0bpartitionID\x18\x03 \x01(\x03\x12\x10\n\x08mem_size\x18\x04 \x01(\x03\x12\x10\n\x08num_rows\x18\x05 \x01(\x03\x12\x12\n\nindex_name\x18\x06 \x01(\t\x12\x0f\n\x07indexID\x18\x07 \x01(\x03\x12\x0e\n\x06nodeID\x18\x08 \x01(\x03\x12\x30\n\x05state\x18\t \x01(\x0e\x32!.milvus.proto.common.SegmentState\"p\n\x1aGetQuerySegmentInfoRequest\x12*\n\x04\x62\x61se\x18\x01 \x01(\x0b\x32\x1c.milvus.proto.common.MsgBase\x12\x0e\n\x06\x64\x62Name\x18\x02 \x01(\t\x12\x16\n\x0e\x63ollectionName\x18\x03 \x01(\t\"\x80\x01\n\x1bGetQuerySegmentInfoResponse\x12+\n\x06status\x18\x01 \x01(\x0b\x32\x1b.milvus.proto.common.Status\x12\x34\n\x05infos\x18\x02 \x03(\x0b\x32%.milvus.proto.milvus.QuerySegmentInfo\"$\n\x0c\x44ummyRequest\x12\x14\n\x0crequest_type\x18\x01 \x01(\t\"!\n\rDummyResponse\x12\x10\n\x08response\x18\x01 \x01(\t\"\x15\n\x13RegisterLinkRequest\"r\n\x14RegisterLinkResponse\x12-\n\x07\x61\x64\x64ress\x18\x01 \x01(\x0b\x32\x1c.milvus.proto.common.Address\x12+\n\x06status\x18\x02 \x01(\x0b\x32\x1b.milvus.proto.common.Status\"P\n\x11GetMetricsRequest\x12*\n\x04\x62\x61se\x18\x01 \x01(\x0b\x32\x1c.milvus.proto.common.MsgBase\x12\x0f\n\x07request\x18\x02 \x01(\t\"k\n\x12GetMetricsResponse\x12+\n\x06status\x18\x01 \x01(\x0b\x32\x1b.milvus.proto.common.Status\x12\x10\n\x08response\x18\x02 \x01(\t\x12\x16\n\x0e\x63omponent_name\x18\x03 \x01(\t*!\n\x08ShowType\x12\x07\n\x03\x41ll\x10\x00\x12\x0c\n\x08InMemory\x10\x01*>\n\x0fPlaceholderType\x12\x08\n\x04None\x10\x00\x12\x10\n\x0c\x42inaryVector\x10\x64\x12\x0f\n\x0b\x46loatVector\x10\x65\x32\xd5\x1a\n\rMilvusService\x12_\n\x10\x43reateCollection\x12,.milvus.proto.milvus.CreateCollectionRequest\x1a\x1b.milvus.proto.common.Status\"\x00\x12[\n\x0e\x44ropCollection\x12*.milvus.proto.milvus.DropCollectionRequest\x1a\x1b.milvus.proto.common.Status\"\x00\x12_\n\rHasCollection\x12).milvus.proto.milvus.HasCollectionRequest\x1a!.milvus.proto.milvus.BoolResponse\"\x00\x12[\n\x0eLoadCollection\x12*.milvus.proto.milvus.LoadCollectionRequest\x1a\x1b.milvus.proto.common.Status\"\x00\x12\x61\n\x11ReleaseCollection\x12-.milvus.proto.milvus.ReleaseCollectionRequest\x1a\x1b.milvus.proto.common.Status\"\x00\x12w\n\x12\x44\x65scribeCollection\x12..milvus.proto.milvus.DescribeCollectionRequest\x1a/.milvus.proto.milvus.DescribeCollectionResponse\"\x00\x12\x86\x01\n\x17GetCollectionStatistics\x12\x33.milvus.proto.milvus.GetCollectionStatisticsRequest\x1a\x34.milvus.proto.milvus.GetCollectionStatisticsResponse\"\x00\x12n\n\x0fShowCollections\x12+.milvus.proto.milvus.ShowCollectionsRequest\x1a,.milvus.proto.milvus.ShowCollectionsResponse\"\x00\x12]\n\x0f\x43reatePartition\x12+.milvus.proto.milvus.CreatePartitionRequest\x1a\x1b.milvus.proto.common.Status\"\x00\x12Y\n\rDropPartition\x12).milvus.proto.milvus.DropPartitionRequest\x1a\x1b.milvus.proto.common.Status\"\x00\x12]\n\x0cHasPartition\x12(.milvus.proto.milvus.HasPartitionRequest\x1a!.milvus.proto.milvus.BoolResponse\"\x00\x12[\n\x0eLoadPartitions\x12*.milvus.proto.milvus.LoadPartitionsRequest\x1a\x1b.milvus.proto.common.Status\"\x00\x12\x61\n\x11ReleasePartitions\x12-.milvus.proto.milvus.ReleasePartitionsRequest\x1a\x1b.milvus.proto.common.Status\"\x00\x12\x83\x01\n\x16GetPartitionStatistics\x12\x32.milvus.proto.milvus.GetPartitionStatisticsRequest\x1a\x33.milvus.proto.milvus.GetPartitionStatisticsResponse\"\x00\x12k\n\x0eShowPartitions\x12*.milvus.proto.milvus.ShowPartitionsRequest\x1a+.milvus.proto.milvus.ShowPartitionsResponse\"\x00\x12U\n\x0b\x43reateAlias\x12\'.milvus.proto.milvus.CreateAliasRequest\x1a\x1b.milvus.proto.common.Status\"\x00\x12Q\n\tDropAlias\x12%.milvus.proto.milvus.DropAliasRequest\x1a\x1b.milvus.proto.common.Status\"\x00\x12S\n\nAlterAlias\x12&.milvus.proto.milvus.AlterAliasRequest\x1a\x1b.milvus.proto.common.Status\"\x00\x12U\n\x0b\x43reateIndex\x12\'.milvus.proto.milvus.CreateIndexRequest\x1a\x1b.milvus.proto.common.Status\"\x00\x12h\n\rDescribeIndex\x12).milvus.proto.milvus.DescribeIndexRequest\x1a*.milvus.proto.milvus.DescribeIndexResponse\"\x00\x12h\n\rGetIndexState\x12).milvus.proto.milvus.GetIndexStateRequest\x1a*.milvus.proto.milvus.GetIndexStateResponse\"\x00\x12\x80\x01\n\x15GetIndexBuildProgress\x12\x31.milvus.proto.milvus.GetIndexBuildProgressRequest\x1a\x32.milvus.proto.milvus.GetIndexBuildProgressResponse\"\x00\x12Q\n\tDropIndex\x12%.milvus.proto.milvus.DropIndexRequest\x1a\x1b.milvus.proto.common.Status\"\x00\x12S\n\x06Insert\x12\".milvus.proto.milvus.InsertRequest\x1a#.milvus.proto.milvus.MutationResult\"\x00\x12S\n\x06\x44\x65lete\x12\".milvus.proto.milvus.DeleteRequest\x1a#.milvus.proto.milvus.MutationResult\"\x00\x12R\n\x06Search\x12\".milvus.proto.milvus.SearchRequest\x1a\".milvus.proto.milvus.SearchResults\"\x00\x12P\n\x05\x46lush\x12!.milvus.proto.milvus.FlushRequest\x1a\".milvus.proto.milvus.FlushResponse\"\x00\x12O\n\x05Query\x12!.milvus.proto.milvus.QueryRequest\x1a!.milvus.proto.milvus.QueryResults\"\x00\x12\x64\n\x0c\x43\x61lcDistance\x12(.milvus.proto.milvus.CalcDistanceRequest\x1a(.milvus.proto.milvus.CalcDistanceResults\"\x00\x12\x89\x01\n\x18GetPersistentSegmentInfo\x12\x34.milvus.proto.milvus.GetPersistentSegmentInfoRequest\x1a\x35.milvus.proto.milvus.GetPersistentSegmentInfoResponse\"\x00\x12z\n\x13GetQuerySegmentInfo\x12/.milvus.proto.milvus.GetQuerySegmentInfoRequest\x1a\x30.milvus.proto.milvus.GetQuerySegmentInfoResponse\"\x00\x12P\n\x05\x44ummy\x12!.milvus.proto.milvus.DummyRequest\x1a\".milvus.proto.milvus.DummyResponse\"\x00\x12\x65\n\x0cRegisterLink\x12(.milvus.proto.milvus.RegisterLinkRequest\x1a).milvus.proto.milvus.RegisterLinkResponse\"\x00\x12_\n\nGetMetrics\x12&.milvus.proto.milvus.GetMetricsRequest\x1a\'.milvus.proto.milvus.GetMetricsResponse\"\x00\x32u\n\x0cProxyService\x12\x65\n\x0cRegisterLink\x12(.milvus.proto.milvus.RegisterLinkRequest\x1a).milvus.proto.milvus.RegisterLinkResponse\"\x00\x42\x35Z3github.com/milvus-io/milvus/internal/proto/milvuspbb\x06proto3' , dependencies=[common__pb2.DESCRIPTOR,schema__pb2.DESCRIPTOR,]) @@ -46,8 +46,8 @@ ], containing_type=None, serialized_options=None, - serialized_start=9348, - serialized_end=9381, + serialized_start=9414, + serialized_end=9447, ) _sym_db.RegisterEnumDescriptor(_SHOWTYPE) @@ -77,8 +77,8 @@ ], containing_type=None, serialized_options=None, - serialized_start=9383, - serialized_end=9445, + serialized_start=9449, + serialized_end=9511, ) _sym_db.RegisterEnumDescriptor(_PLACEHOLDERTYPE) @@ -3238,6 +3238,20 @@ message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='nodeID', full_name='milvus.proto.milvus.QuerySegmentInfo.nodeID', index=7, + number=8, type=3, cpp_type=2, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='state', full_name='milvus.proto.milvus.QuerySegmentInfo.state', index=8, + number=9, type=14, cpp_type=8, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -3251,7 +3265,7 @@ oneofs=[ ], serialized_start=8545, - serialized_end=8698, + serialized_end=8764, ) @@ -3296,8 +3310,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=8700, - serialized_end=8812, + serialized_start=8766, + serialized_end=8878, ) @@ -3335,8 +3349,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=8815, - serialized_end=8943, + serialized_start=8881, + serialized_end=9009, ) @@ -3367,8 +3381,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=8945, - serialized_end=8981, + serialized_start=9011, + serialized_end=9047, ) @@ -3399,8 +3413,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=8983, - serialized_end=9016, + serialized_start=9049, + serialized_end=9082, ) @@ -3424,8 +3438,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=9018, - serialized_end=9039, + serialized_start=9084, + serialized_end=9105, ) @@ -3463,8 +3477,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=9041, - serialized_end=9155, + serialized_start=9107, + serialized_end=9221, ) @@ -3502,8 +3516,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=9157, - serialized_end=9237, + serialized_start=9223, + serialized_end=9303, ) @@ -3548,8 +3562,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=9239, - serialized_end=9346, + serialized_start=9305, + serialized_end=9412, ) _CREATEALIASREQUEST.fields_by_name['base'].message_type = common__pb2._MSGBASE @@ -3645,6 +3659,7 @@ _GETPERSISTENTSEGMENTINFOREQUEST.fields_by_name['base'].message_type = common__pb2._MSGBASE _GETPERSISTENTSEGMENTINFORESPONSE.fields_by_name['status'].message_type = common__pb2._STATUS _GETPERSISTENTSEGMENTINFORESPONSE.fields_by_name['infos'].message_type = _PERSISTENTSEGMENTINFO +_QUERYSEGMENTINFO.fields_by_name['state'].enum_type = common__pb2._SEGMENTSTATE _GETQUERYSEGMENTINFOREQUEST.fields_by_name['base'].message_type = common__pb2._MSGBASE _GETQUERYSEGMENTINFORESPONSE.fields_by_name['status'].message_type = common__pb2._STATUS _GETQUERYSEGMENTINFORESPONSE.fields_by_name['infos'].message_type = _QUERYSEGMENTINFO @@ -4203,8 +4218,8 @@ index=0, serialized_options=None, create_key=_descriptor._internal_create_key, - serialized_start=9448, - serialized_end=12861, + serialized_start=9514, + serialized_end=12927, methods=[ _descriptor.MethodDescriptor( name='CreateCollection', @@ -4559,8 +4574,8 @@ index=1, serialized_options=None, create_key=_descriptor._internal_create_key, - serialized_start=12863, - serialized_end=12980, + serialized_start=12929, + serialized_end=13046, methods=[ _descriptor.MethodDescriptor( name='RegisterLink',