milvus icon indicating copy to clipboard operation
milvus copied to clipboard

Query output fields does not support bool field

Open ThreadDao opened this issue 4 years ago • 7 comments
trafficstars

Steps/Code to reproduce:

  1. create dataFrame with fields [int64, float, float_vec, bool]
  2. construct collection from dataframe (create collection and insert)
  3. flush and load
  4. query with expr: int64 in [0, 1] and output all scala fields
    def test_query_bool(self):
        self._connect()
        df = cf.gen_default_dataframe_data()
        bool_values = pd.Series(data=[np.bool(i) for i in range(ct.default_nb)], dtype="bool")
        df["bool"] = bool_values
        self.collection_wrap.construct_from_dataframe(cf.gen_unique_str(prefix), df,
                                                      primary_field=ct.default_int64_field_name)
        assert self.collection_wrap.num_entities == ct.default_nb
        self.collection_wrap.load()
        term_expr = f'{ct.default_int64_field_name} in [0, 1]'
        self.collection_wrap.query(term_expr, output_fields=["*"])

Expected result:

Query result output int64, float and bool fields

Actual results:

[2021-09-07 10:35:08,847 - DEBUG - ci_test]: (api_request)  : [Collection.construct_from_dataframe] args: ['query_FS6WIy7R',       int64   float                                       float_vector   bool
0         0     0.0  [0.003485702567341744, 0.009880608387764755, 0...  False
1         1     1.0  [0.006156047312007451, 0.11146951862091772, 0....   True
2         2     2.0  [0.024231068050959825, 0.1......, kwargs: {'primary_field': 'int64'} (api_request.py:44)
[2021-09-07 10:35:09,338 - DEBUG - ci_test]: (api_response) : ({"name": "query_FS6WIy7R", "schema": {"auto_id": false, "description": "", "fields": [{"name": "int64", "description": "", "type": 5, "is_primary": true, "auto_id": false}, {"name": "float", "description": "", "type": 10}, {"name": "float_vector", "description": "", "type": 101, "params": {"dim": 1......  (api_request.py:21)
[2021-09-07 10:35:12,441 - DEBUG - ci_test]: (api_request)  : [Collection.load] args: [None], kwargs: {'timeout': 20} (api_request.py:44)
[2021-09-07 10:35:12,982 - DEBUG - ci_test]: (api_response) : None  (api_request.py:21)
[2021-09-07 10:35:12,982 - DEBUG - ci_test]: (api_request)  : [Collection.query] args: ['int64 in [0, 1]', ['*'], None, 20], kwargs: {} (api_request.py:44)
[2021-09-07 10:35:13,006 - ERROR - ci_test]: Traceback (most recent call last):
  File "/home/zong/zong/projects/milvus/tests/python_client/utils/api_request.py", line 18, in inner_wrapper
    res = func(*args, **kwargs)
  File "/home/zong/zong/projects/milvus/tests/python_client/utils/api_request.py", line 45, in api_request
    return func(*arg, **kwargs)
  File "/home/zong/zong/.virtualenvs/milvus/lib/python3.8/site-packages/pymilvus/orm/pymilvus_orm/collection.py", line 729, in query
    res = conn.query(self._name, expr, output_fields, partition_names, timeout)
  File "/home/zong/zong/.virtualenvs/milvus/lib/python3.8/site-packages/pymilvus/client/stub.py", line 68, in handler
    raise e
  File "/home/zong/zong/.virtualenvs/milvus/lib/python3.8/site-packages/pymilvus/client/stub.py", line 52, in handler
    return func(self, *args, **kwargs)
  File "/home/zong/zong/.virtualenvs/milvus/lib/python3.8/site-packages/pymilvus/client/stub.py", line 40, in inner
    return func(self, *args, **kwargs)
  File "/home/zong/zong/.virtualenvs/milvus/lib/python3.8/site-packages/pymilvus/client/stub.py", line 1215, in query
    return handler.query(collection_name, expr, output_fields, partition_names, timeout=timeout)
  File "/home/zong/zong/.virtualenvs/milvus/lib/python3.8/site-packages/pymilvus/client/grpc_handler.py", line 67, in handler
    raise e
  File "/home/zong/zong/.virtualenvs/milvus/lib/python3.8/site-packages/pymilvus/client/grpc_handler.py", line 59, in handler
    return func(self, *args, **kwargs)
  File "/home/zong/zong/.virtualenvs/milvus/lib/python3.8/site-packages/pymilvus/client/grpc_handler.py", line 1148, in query
    raise BaseException(0, "Not support bool yet")
pymilvus.client.exceptions.BaseException: <BaseException: (code=0, message=Not support bool yet)>
 (api_request.py:26)

Environment:

  • Milvus version(e.g. v2.0.0-RC2 or 8b23a93): 86afde4 Mon Sep 6 03:56:05 UTC 2021
  • Deployment mode(standalone or cluster): cluster
  • SDK version(e.g. pymilvus v2.0.0rc2): pymilvus 2.0.0rc6.dev4
  • OS(Ubuntu or CentOS):
  • CPU/Memory:
  • GPU:
  • Others:

Configuration file:

Additional context:

ThreadDao avatar Sep 07 '21 02:09 ThreadDao

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions. Rotten issues close after 30d of inactivity. Reopen the issue with /reopen.

stale[bot] avatar Oct 07 '21 02:10 stale[bot]

This problem will be solved after 2.0 release

ThreadDao avatar Dec 02 '21 02:12 ThreadDao

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions. Rotten issues close after 30d of inactivity. Reopen the issue with /reopen.

stale[bot] avatar Jan 01 '22 02:01 stale[bot]

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions. Rotten issues close after 30d of inactivity. Reopen the issue with /reopen.

stale[bot] avatar Jul 29 '22 21:07 stale[bot]

Keep open

ThreadDao avatar Aug 03 '22 02:08 ThreadDao

/assign @ThreadDao pls verify it with the latest PyMilvus

jiaoew1991 avatar Aug 11 '22 09:08 jiaoew1991

/assign @ThreadDao /unassign /unassign @cydrain

jiaoew1991 avatar Aug 11 '22 09:08 jiaoew1991

@ThreadDao Try this pymilvus-2.1.2.dev9 on milvus2.1

XuanYang-cn avatar Sep 09 '22 03:09 XuanYang-cn