yukun fd4969edaf
Merge scalar-field-filtering to master (#2976)
* [skip ci] remove timeout in partition-test case

Signed-off-by: zw <zw@milvus.io>

* Update server_versiong

Signed-off-by: zw <zw@milvus.io>

* fix client_test.go

Signed-off-by: zw <zw@milvus.io>

* Add ci param is_manual_trigger

Signed-off-by: zw <zw@milvus.io>

* update ci param

Signed-off-by: zw <zw@milvus.io>

* Replace wal to hybrid

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Reconstruct create structured index

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* add filter cases

Signed-off-by: zw <zw@milvus.io>

* Change interfaces for hybrid search in GrpcHandler

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Fix test_rpc for new proto

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* [skip ci] Filter case (#2655)

* [skip ci] remove timeout in partition-test case

Signed-off-by: zw <zw@milvus.io>

* Update server_versiong

Signed-off-by: zw <zw@milvus.io>

* fix client_test.go

Signed-off-by: zw <zw@milvus.io>

* Add ci param is_manual_trigger

Signed-off-by: zw <zw@milvus.io>

* update ci param

Signed-off-by: zw <zw@milvus.io>

* add filter cases

Signed-off-by: zw <zw@milvus.io>

Co-authored-by: zw <zw@milvus.io>

* Fix all compile errors

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Comment all test_db

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* undo clange format

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* [skip ci] update cases

Signed-off-by: zw <zw@milvus.io>

* [skip ci]Filter case (#2688)

* [skip ci] remove timeout in partition-test case

Signed-off-by: zw <zw@milvus.io>

* Update server_versiong

Signed-off-by: zw <zw@milvus.io>

* fix client_test.go

Signed-off-by: zw <zw@milvus.io>

* Add ci param is_manual_trigger

Signed-off-by: zw <zw@milvus.io>

* update ci param

Signed-off-by: zw <zw@milvus.io>

* add filter cases

Signed-off-by: zw <zw@milvus.io>

* [skip ci] update cases

Signed-off-by: zw <zw@milvus.io>

Co-authored-by: zw <zw@milvus.io>

* Fix GetEntityByID bugs

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* [skip ci] fix some case bug

Signed-off-by: zw <zw@milvus.io>

* [skip ci] update some cases

Signed-off-by: zw <zw@milvus.io>

* [skip ci] update some cases (#2700)

* [skip ci] remove timeout in partition-test case

Signed-off-by: zw <zw@milvus.io>

* Update server_versiong

Signed-off-by: zw <zw@milvus.io>

* fix client_test.go

Signed-off-by: zw <zw@milvus.io>

* Add ci param is_manual_trigger

Signed-off-by: zw <zw@milvus.io>

* update ci param

Signed-off-by: zw <zw@milvus.io>

* [skip ci] update some cases

Signed-off-by: zw <zw@milvus.io>

Co-authored-by: zw <zw@milvus.io>

* Using json to pass TermQuery and RangeQuery

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Fix C++ sdk

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Fix C++ sdk compile error

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* GetEntityByID returns all entities when no field names provide

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Add changelog

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Comment test_db and ssdb

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Collection create success if an invalid field name provided

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* The number of fields should be limited

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Check the validity of the parameters of creating collection: segment_size

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Index can not be created

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* add changelog

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Count entities got wrong result with binary vectors

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* No entity returned with get_entity_by_id

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Index type name should returned if index type is not supported

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* The max value of top-k should be limited

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Server destroyed after delete by id

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* code format

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* code format

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Fix C++ sdk

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Server crashed when calling get_entity_by_id

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Remove test_case change

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* [skip ci] update cases

Signed-off-by: zw <zw@milvus.io>

* Unexpected error when insert binary entities

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Add field_names judge in GetEntityByID

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Wrong result returned if searching with tags

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* [skip ci] update search cases (#2795)

Signed-off-by: zw <zw@milvus.io>

Co-authored-by: zw <zw@milvus.io>

* Filter case (#2825)

* [skip ci] update search cases

Signed-off-by: zw <zw@milvus.io>

* update cases

Signed-off-by: zw <zw@milvus.io>

Co-authored-by: zw <zw@milvus.io>

* Distances returned by calling search is inaccurate (#2820)

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Wrong result returned by get_entity_by_id (#2840)

* Distances returned by calling search is inaccurate

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Wrong result returned by get_entity_by_id

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* [skip ci] Filter case (#2848)

* [skip ci] update search cases

Signed-off-by: zw <zw@milvus.io>

* update cases

Signed-off-by: zw <zw@milvus.io>

* [skip ci] update cases

Signed-off-by: zw <zw@milvus.io>

Co-authored-by: zw <zw@milvus.io>

* Test scalar field filtering (#2861)

* fix test_flush.py to meet the entity of branch scalar_field_filtering

* update test_flush.py to meet hybrid search

* Filter case (#2876)

* [skip ci] update search cases

Signed-off-by: zw <zw@milvus.io>

* update cases

Signed-off-by: zw <zw@milvus.io>

* [skip ci] update cases

Signed-off-by: zw <zw@milvus.io>

* update cases

Signed-off-by: zw <zw@milvus.io>

Co-authored-by: zw <zw@milvus.io>

* Server crashed after calling delete_entity_by_id (#2870)

* Distances returned by calling search is inaccurate

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Wrong result returned by get_entity_by_id

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Server crashed during inserting, and can not restart

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Fix test_rpc.cpp

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* clang format

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Server crashed after calling delete_entity_by_id

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Fix GetEntityByID valid_row

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Test scalar field filtering (#2881)

* fix test_flush.py to meet the entity of branch scalar_field_filtering

* update test_flush.py to meet hybrid search

* fix test_flush.py to meet the entity of branch scalar_field_filtering

* update test_flush.py to meet hybrid search

* update test_compact.py for hybrid query

* Filter case (#2898)

* [skip ci] update search cases

Signed-off-by: zw <zw@milvus.io>

* update cases

Signed-off-by: zw <zw@milvus.io>

* [skip ci] update cases

Signed-off-by: zw <zw@milvus.io>

* update cases

Signed-off-by: zw <zw@milvus.io>

* update index string

Signed-off-by: zw <zw@milvus.io>

Co-authored-by: zw <zw@milvus.io>

* [skip ci] update index params gen  (#2911)

* [skip ci] update search cases

Signed-off-by: zw <zw@milvus.io>

* update cases

Signed-off-by: zw <zw@milvus.io>

* [skip ci] update cases

Signed-off-by: zw <zw@milvus.io>

* update cases

Signed-off-by: zw <zw@milvus.io>

* update index string

Signed-off-by: zw <zw@milvus.io>

* [skip ci] update index params gen

Signed-off-by: zw <zw@milvus.io>

Co-authored-by: zw <zw@milvus.io>

* [skip ci] fix cases (#2913)

* [skip ci] update search cases

Signed-off-by: zw <zw@milvus.io>

* update cases

Signed-off-by: zw <zw@milvus.io>

* [skip ci] update cases

Signed-off-by: zw <zw@milvus.io>

* update cases

Signed-off-by: zw <zw@milvus.io>

* update index string

Signed-off-by: zw <zw@milvus.io>

* [skip ci] update index params gen

Signed-off-by: zw <zw@milvus.io>

* [skip ci] fix cases

Signed-off-by: zw <zw@milvus.io>

Co-authored-by: zw <zw@milvus.io>

* [skip ci] Filter case (#2914)

* [skip ci] update search cases

Signed-off-by: zw <zw@milvus.io>

* update cases

Signed-off-by: zw <zw@milvus.io>

* [skip ci] update cases

Signed-off-by: zw <zw@milvus.io>

* update cases

Signed-off-by: zw <zw@milvus.io>

* update index string

Signed-off-by: zw <zw@milvus.io>

* [skip ci] update index params gen

Signed-off-by: zw <zw@milvus.io>

* [skip ci] fix cases

Signed-off-by: zw <zw@milvus.io>

* [skip ci] fix cases

Signed-off-by: zw <zw@milvus.io>

Co-authored-by: zw <zw@milvus.io>

* [skip ci] Filter case (#2915)

* [skip ci] update search cases

Signed-off-by: zw <zw@milvus.io>

* update cases

Signed-off-by: zw <zw@milvus.io>

* [skip ci] update cases

Signed-off-by: zw <zw@milvus.io>

* update cases

Signed-off-by: zw <zw@milvus.io>

* update index string

Signed-off-by: zw <zw@milvus.io>

* [skip ci] update index params gen

Signed-off-by: zw <zw@milvus.io>

* [skip ci] fix cases

Signed-off-by: zw <zw@milvus.io>

* [skip ci] fix cases

Signed-off-by: zw <zw@milvus.io>

* [skip ci] fix cases

Signed-off-by: zw <zw@milvus.io>

Co-authored-by: zw <zw@milvus.io>

* [skip ci] Filter case (#2916)

* [skip ci] update search cases

Signed-off-by: zw <zw@milvus.io>

* update cases

Signed-off-by: zw <zw@milvus.io>

* [skip ci] update cases

Signed-off-by: zw <zw@milvus.io>

* update cases

Signed-off-by: zw <zw@milvus.io>

* update index string

Signed-off-by: zw <zw@milvus.io>

* [skip ci] update index params gen

Signed-off-by: zw <zw@milvus.io>

* [skip ci] fix cases

Signed-off-by: zw <zw@milvus.io>

* [skip ci] fix cases

Signed-off-by: zw <zw@milvus.io>

* [skip ci] fix cases

Signed-off-by: zw <zw@milvus.io>

* [skip ci] update sq8h to cpu_not_support

Signed-off-by: zw <zw@milvus.io>

* [skip ci] assert entity is None entity not in collection

Signed-off-by: zw <zw@milvus.io>

Co-authored-by: zw <zw@milvus.io>

* [skip ci] Filter case (#2919)

* [skip ci] update search cases

Signed-off-by: zw <zw@milvus.io>

* update cases

Signed-off-by: zw <zw@milvus.io>

* [skip ci] update cases

Signed-off-by: zw <zw@milvus.io>

* update cases

Signed-off-by: zw <zw@milvus.io>

* update index string

Signed-off-by: zw <zw@milvus.io>

* [skip ci] update index params gen

Signed-off-by: zw <zw@milvus.io>

* [skip ci] fix cases

Signed-off-by: zw <zw@milvus.io>

* [skip ci] fix cases

Signed-off-by: zw <zw@milvus.io>

* [skip ci] fix cases

Signed-off-by: zw <zw@milvus.io>

* [skip ci] update sq8h to cpu_not_support

Signed-off-by: zw <zw@milvus.io>

* [skip ci] assert entity is None entity not in collection

Signed-off-by: zw <zw@milvus.io>

* [skip ci] todo: check segment_size 1.0

Signed-off-by: zw <zw@milvus.io>

Co-authored-by: zw <zw@milvus.io>

* [skip ci] Filter case (#2922)

* [skip ci] update search cases

Signed-off-by: zw <zw@milvus.io>

* update cases

Signed-off-by: zw <zw@milvus.io>

* [skip ci] update cases

Signed-off-by: zw <zw@milvus.io>

* update cases

Signed-off-by: zw <zw@milvus.io>

* update index string

Signed-off-by: zw <zw@milvus.io>

* [skip ci] update index params gen

Signed-off-by: zw <zw@milvus.io>

* [skip ci] fix cases

Signed-off-by: zw <zw@milvus.io>

* [skip ci] fix cases

Signed-off-by: zw <zw@milvus.io>

* [skip ci] fix cases

Signed-off-by: zw <zw@milvus.io>

* [skip ci] update sq8h to cpu_not_support

Signed-off-by: zw <zw@milvus.io>

* [skip ci] assert entity is None entity not in collection

Signed-off-by: zw <zw@milvus.io>

* [skip ci] todo: check segment_size 1.0

Signed-off-by: zw <zw@milvus.io>

* [skip ci] change field name in cases

Signed-off-by: zw <zw@milvus.io>

* [skip ci] fix cases

Signed-off-by: zw <zw@milvus.io>

Co-authored-by: zw <zw@milvus.io>

* Create index failed with binary vectors (#2895)

* Distances returned by calling search is inaccurate

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Wrong result returned by get_entity_by_id

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Server crashed during inserting, and can not restart

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Fix test_rpc.cpp

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* clang format

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Server crashed after calling delete_entity_by_id

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Fix GetEntityByID valid_row

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Fix index type name problem

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Create index failed with binary vectors

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Fix GetCollectionInfo interface

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Add extra_params in DescribeCollection

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Insert binary data failed

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Fix binary index issue

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Fix wrong field name problem

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Fix test_rpc.cpp

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Filter case (#2928)

* [skip ci] update search cases

Signed-off-by: zw <zw@milvus.io>

* update cases

Signed-off-by: zw <zw@milvus.io>

* [skip ci] update cases

Signed-off-by: zw <zw@milvus.io>

* update cases

Signed-off-by: zw <zw@milvus.io>

* update index string

Signed-off-by: zw <zw@milvus.io>

* [skip ci] update index params gen

Signed-off-by: zw <zw@milvus.io>

* [skip ci] fix cases

Signed-off-by: zw <zw@milvus.io>

* [skip ci] fix cases

Signed-off-by: zw <zw@milvus.io>

* [skip ci] fix cases

Signed-off-by: zw <zw@milvus.io>

* [skip ci] update sq8h to cpu_not_support

Signed-off-by: zw <zw@milvus.io>

* [skip ci] assert entity is None entity not in collection

Signed-off-by: zw <zw@milvus.io>

* [skip ci] todo: check segment_size 1.0

Signed-off-by: zw <zw@milvus.io>

* [skip ci] change field name in cases

Signed-off-by: zw <zw@milvus.io>

* [skip ci] fix cases

Signed-off-by: zw <zw@milvus.io>

* [skip ci] update list id in segment

Signed-off-by: zw <zw@milvus.io>

Co-authored-by: zw <zw@milvus.io>

* Fix GET_TIMEOUT in test_list_id_in_segment.py (#2929)

* Distances returned by calling search is inaccurate

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Wrong result returned by get_entity_by_id

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Server crashed during inserting, and can not restart

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Fix test_rpc.cpp

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* clang format

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Server crashed after calling delete_entity_by_id

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Fix GetEntityByID valid_row

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Fix index type name problem

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Create index failed with binary vectors

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Fix GetCollectionInfo interface

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Add extra_params in DescribeCollection

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Insert binary data failed

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Fix binary index issue

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Fix wrong field name problem

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Fix test_rpc.cpp

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Fix assert status.OK() bugs in test cases

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* [skip ci]Fix GET_TIMEOUT in test_list_id_in_segment.py

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Fix test_list_id_in_segment.py bugs (#2935)

* Distances returned by calling search is inaccurate

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Wrong result returned by get_entity_by_id

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Server crashed during inserting, and can not restart

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Fix test_rpc.cpp

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* clang format

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Server crashed after calling delete_entity_by_id

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Fix GetEntityByID valid_row

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Fix index type name problem

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Create index failed with binary vectors

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Fix GetCollectionInfo interface

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Add extra_params in DescribeCollection

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Insert binary data failed

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Fix binary index issue

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Fix wrong field name problem

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Fix test_rpc.cpp

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Fix assert status.OK() bugs in test cases

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* [skip ci]Fix GET_TIMEOUT in test_list_id_in_segment.py

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* [skip ci] Fix test_list_id_in_segment.py bugs

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Filter case (#2938)

* [skip ci] update search cases

Signed-off-by: zw <zw@milvus.io>

* update cases

Signed-off-by: zw <zw@milvus.io>

* [skip ci] update cases

Signed-off-by: zw <zw@milvus.io>

* update cases

Signed-off-by: zw <zw@milvus.io>

* update index string

Signed-off-by: zw <zw@milvus.io>

* [skip ci] update index params gen

Signed-off-by: zw <zw@milvus.io>

* [skip ci] fix cases

Signed-off-by: zw <zw@milvus.io>

* [skip ci] fix cases

Signed-off-by: zw <zw@milvus.io>

* [skip ci] fix cases

Signed-off-by: zw <zw@milvus.io>

* [skip ci] update sq8h to cpu_not_support

Signed-off-by: zw <zw@milvus.io>

* [skip ci] assert entity is None entity not in collection

Signed-off-by: zw <zw@milvus.io>

* [skip ci] todo: check segment_size 1.0

Signed-off-by: zw <zw@milvus.io>

* [skip ci] change field name in cases

Signed-off-by: zw <zw@milvus.io>

* [skip ci] fix cases

Signed-off-by: zw <zw@milvus.io>

* [skip ci] update list id in segment

Signed-off-by: zw <zw@milvus.io>

* [skip ci] update casses

Signed-off-by: zw <zw@milvus.io>

Co-authored-by: zw <zw@milvus.io>

* Fix test_search.py bugs (#2951)

* Distances returned by calling search is inaccurate

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Wrong result returned by get_entity_by_id

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Server crashed during inserting, and can not restart

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Fix test_rpc.cpp

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* clang format

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Server crashed after calling delete_entity_by_id

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Fix GetEntityByID valid_row

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Fix index type name problem

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Create index failed with binary vectors

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Fix GetCollectionInfo interface

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Add extra_params in DescribeCollection

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Insert binary data failed

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Fix binary index issue

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Fix wrong field name problem

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Fix test_rpc.cpp

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Fix assert status.OK() bugs in test cases

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* [skip ci]Fix GET_TIMEOUT in test_list_id_in_segment.py

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* [skip ci] Fix test_list_id_in_segment.py bugs

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* [skip ci] Fix test_search.py bugs

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Filter case (#2956)

* [skip ci] update search cases

Signed-off-by: zw <zw@milvus.io>

* update cases

Signed-off-by: zw <zw@milvus.io>

* [skip ci] update cases

Signed-off-by: zw <zw@milvus.io>

* update cases

Signed-off-by: zw <zw@milvus.io>

* update index string

Signed-off-by: zw <zw@milvus.io>

* [skip ci] update index params gen

Signed-off-by: zw <zw@milvus.io>

* [skip ci] fix cases

Signed-off-by: zw <zw@milvus.io>

* [skip ci] fix cases

Signed-off-by: zw <zw@milvus.io>

* [skip ci] fix cases

Signed-off-by: zw <zw@milvus.io>

* [skip ci] update sq8h to cpu_not_support

Signed-off-by: zw <zw@milvus.io>

* [skip ci] assert entity is None entity not in collection

Signed-off-by: zw <zw@milvus.io>

* [skip ci] todo: check segment_size 1.0

Signed-off-by: zw <zw@milvus.io>

* [skip ci] change field name in cases

Signed-off-by: zw <zw@milvus.io>

* [skip ci] fix cases

Signed-off-by: zw <zw@milvus.io>

* [skip ci] update list id in segment

Signed-off-by: zw <zw@milvus.io>

* [skip ci] update casses

Signed-off-by: zw <zw@milvus.io>

* [skip ci] update index cases

Signed-off-by: zw <zw@milvus.io>

Co-authored-by: zw <zw@milvus.io>

* Fix test_search.py invalid_param bugs (#2959)

* Distances returned by calling search is inaccurate

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Wrong result returned by get_entity_by_id

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Server crashed during inserting, and can not restart

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Fix test_rpc.cpp

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* clang format

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Server crashed after calling delete_entity_by_id

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Fix GetEntityByID valid_row

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Fix index type name problem

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Create index failed with binary vectors

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Fix GetCollectionInfo interface

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Add extra_params in DescribeCollection

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Insert binary data failed

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Fix binary index issue

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Fix wrong field name problem

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Fix test_rpc.cpp

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Fix assert status.OK() bugs in test cases

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* [skip ci]Fix GET_TIMEOUT in test_list_id_in_segment.py

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* [skip ci] Fix test_list_id_in_segment.py bugs

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* [skip ci] Fix test_search.py bugs

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* [skip ci] Fix test_search.py invalid_param bugs

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Fix test_partition.py bugs (#2963)

* Distances returned by calling search is inaccurate

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Wrong result returned by get_entity_by_id

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Server crashed during inserting, and can not restart

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Fix test_rpc.cpp

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* clang format

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Server crashed after calling delete_entity_by_id

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Fix GetEntityByID valid_row

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Fix index type name problem

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Create index failed with binary vectors

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Fix GetCollectionInfo interface

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Add extra_params in DescribeCollection

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Insert binary data failed

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Fix binary index issue

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Fix wrong field name problem

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Fix test_rpc.cpp

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Fix assert status.OK() bugs in test cases

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* [skip ci]Fix GET_TIMEOUT in test_list_id_in_segment.py

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* [skip ci] Fix test_list_id_in_segment.py bugs

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* [skip ci] Fix test_search.py bugs

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* [skip ci] Fix test_search.py invalid_param bugs

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* [skip ci] Fix test_index.py bugs

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* [skip ci] Fix test_partition.py bugs

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Filter case (#2964)

* [skip ci] update search cases

Signed-off-by: zw <zw@milvus.io>

* update cases

Signed-off-by: zw <zw@milvus.io>

* [skip ci] update cases

Signed-off-by: zw <zw@milvus.io>

* update cases

Signed-off-by: zw <zw@milvus.io>

* update index string

Signed-off-by: zw <zw@milvus.io>

* [skip ci] update index params gen

Signed-off-by: zw <zw@milvus.io>

* [skip ci] fix cases

Signed-off-by: zw <zw@milvus.io>

* [skip ci] fix cases

Signed-off-by: zw <zw@milvus.io>

* [skip ci] fix cases

Signed-off-by: zw <zw@milvus.io>

* [skip ci] update sq8h to cpu_not_support

Signed-off-by: zw <zw@milvus.io>

* [skip ci] assert entity is None entity not in collection

Signed-off-by: zw <zw@milvus.io>

* [skip ci] todo: check segment_size 1.0

Signed-off-by: zw <zw@milvus.io>

* [skip ci] change field name in cases

Signed-off-by: zw <zw@milvus.io>

* [skip ci] fix cases

Signed-off-by: zw <zw@milvus.io>

* [skip ci] update list id in segment

Signed-off-by: zw <zw@milvus.io>

* [skip ci] update casses

Signed-off-by: zw <zw@milvus.io>

* [skip ci] update index cases

Signed-off-by: zw <zw@milvus.io>

* [skip ci] update level2

Signed-off-by: zw <zw@milvus.io>

Co-authored-by: zw <zw@milvus.io>

* Filter case (#2966)

* [skip ci] update search cases

Signed-off-by: zw <zw@milvus.io>

* update cases

Signed-off-by: zw <zw@milvus.io>

* [skip ci] update cases

Signed-off-by: zw <zw@milvus.io>

* update cases

Signed-off-by: zw <zw@milvus.io>

* update index string

Signed-off-by: zw <zw@milvus.io>

* [skip ci] update index params gen

Signed-off-by: zw <zw@milvus.io>

* [skip ci] fix cases

Signed-off-by: zw <zw@milvus.io>

* [skip ci] fix cases

Signed-off-by: zw <zw@milvus.io>

* [skip ci] fix cases

Signed-off-by: zw <zw@milvus.io>

* [skip ci] update sq8h to cpu_not_support

Signed-off-by: zw <zw@milvus.io>

* [skip ci] assert entity is None entity not in collection

Signed-off-by: zw <zw@milvus.io>

* [skip ci] todo: check segment_size 1.0

Signed-off-by: zw <zw@milvus.io>

* [skip ci] change field name in cases

Signed-off-by: zw <zw@milvus.io>

* [skip ci] fix cases

Signed-off-by: zw <zw@milvus.io>

* [skip ci] update list id in segment

Signed-off-by: zw <zw@milvus.io>

* [skip ci] update casses

Signed-off-by: zw <zw@milvus.io>

* [skip ci] update index cases

Signed-off-by: zw <zw@milvus.io>

* [skip ci] update level2

Signed-off-by: zw <zw@milvus.io>

* [skip ci] fix insert cases

Signed-off-by: zw <zw@milvus.io>

Co-authored-by: zw <zw@milvus.io>

* Fix test_compact.py (#2967)

* Distances returned by calling search is inaccurate

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Wrong result returned by get_entity_by_id

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Server crashed during inserting, and can not restart

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Fix test_rpc.cpp

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* clang format

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Server crashed after calling delete_entity_by_id

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Fix GetEntityByID valid_row

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Fix index type name problem

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Create index failed with binary vectors

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Fix GetCollectionInfo interface

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Add extra_params in DescribeCollection

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Insert binary data failed

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Fix binary index issue

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Fix wrong field name problem

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Fix test_rpc.cpp

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Fix assert status.OK() bugs in test cases

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* [skip ci]Fix GET_TIMEOUT in test_list_id_in_segment.py

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* [skip ci] Fix test_list_id_in_segment.py bugs

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* [skip ci] Fix test_search.py bugs

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* [skip ci] Fix test_search.py invalid_param bugs

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* [skip ci] Fix test_index.py bugs

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* [skip ci] Fix test_partition.py bugs

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* [skip ci] Fix test_insert.py bugs

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* [skip ci] Fix test_insert.py bugs

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* clang-format

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* [skip ci] Fix test_compact.py

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Fix C++ sdk DataType

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Fix collection test cases bugs

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Fix test_rpc bugs

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

* Fix test_rpc

Signed-off-by: fishpenguin <kun.yu@zilliz.com>

Co-authored-by: zw <zw@milvus.io>
Co-authored-by: wxyu <xy.wang@zilliz.com>
Co-authored-by: del-zhenwu <56623710+del-zhenwu@users.noreply.github.com>
Co-authored-by: ThreadDao <zongyufen@foxmail.com>
2020-07-23 11:21:34 +08:00

167 lines
7.0 KiB
Python

import pdb
import copy
import pytest
import threading
import datetime
import logging
from time import sleep
from multiprocessing import Process
import sklearn.preprocessing
from milvus import IndexType, MetricType
from utils import *
dim = 128
index_file_size = 10
collection_id = "test_mix"
add_interval_time = 5
vectors = gen_vectors(10000, dim)
vectors = sklearn.preprocessing.normalize(vectors, axis=1, norm='l2')
vectors = vectors.tolist()
top_k = 1
nprobe = 1
epsilon = 0.001
nlist = 128
index_params = {'index_type': IndexType.IVFLAT, 'nlist': 16384}
class TestMixBase:
# disable
def _test_search_during_createIndex(self, args):
loops = 10000
collection = gen_unique_str()
query_vecs = [vectors[0], vectors[1]]
uri = "tcp://%s:%s" % (args["ip"], args["port"])
id_0 = 0; id_1 = 0
milvus_instance = get_milvus(args["handler"])
# milvus_instance.connect(uri=uri)
milvus_instance.create_collection({'collection_name': collection,
'dimension': dim,
'index_file_size': index_file_size,
'metric_type': MetricType.L2})
for i in range(10):
status, ids = milvus_instance.insert(collection, vectors)
# logging.getLogger().info(ids)
if i == 0:
id_0 = ids[0]; id_1 = ids[1]
def create_index(milvus_instance):
logging.getLogger().info("In create index")
status = milvus_instance.create_index(collection, index_params)
logging.getLogger().info(status)
status, result = milvus_instance.get_index_info(collection)
logging.getLogger().info(result)
def insert(milvus_instance):
logging.getLogger().info("In add vectors")
status, ids = milvus_instance.insert(collection, vectors)
logging.getLogger().info(status)
def search(milvus_instance):
logging.getLogger().info("In search vectors")
for i in range(loops):
status, result = milvus_instance.search(collection, top_k, nprobe, query_vecs)
logging.getLogger().info(status)
assert result[0][0].id == id_0
assert result[1][0].id == id_1
milvus_instance = get_milvus(args["handler"])
# milvus_instance.connect(uri=uri)
p_search = Process(target=search, args=(milvus_instance, ))
p_search.start()
milvus_instance = get_milvus(args["handler"])
# milvus_instance.connect(uri=uri)
p_create = Process(target=insert, args=(milvus_instance, ))
p_create.start()
p_create.join()
@pytest.mark.level(2)
def _test_mix_multi_collections(self, connect):
'''
target: test functions with multiple collections of different metric_types and index_types
method: create 60 collections which 30 are L2 and the other are IP, add vectors into them
and test describe index and search
expected: status ok
'''
nq = 10000
collection_list = []
idx = []
index_param = {'nlist': nlist}
#create collection and add vectors
for i in range(30):
collection_name = gen_unique_str('test_mix_multi_collections')
collection_list.append(collection_name)
param = {'collection_name': collection_name,
'dimension': dim,
'index_file_size': index_file_size,
'metric_type': MetricType.L2}
connect.create_collection(param)
status, ids = connect.insert(collection_name=collection_name, records=vectors)
idx.append(ids[0])
idx.append(ids[10])
idx.append(ids[20])
assert status.OK()
for i in range(30):
collection_name = gen_unique_str('test_mix_multi_collections')
collection_list.append(collection_name)
param = {'collection_name': collection_name,
'dimension': dim,
'index_file_size': index_file_size,
'metric_type': MetricType.IP}
connect.create_collection(param)
status, ids = connect.insert(collection_name=collection_name, records=vectors)
assert status.OK()
status = connect.flush([collection_name])
assert status.OK()
idx.append(ids[0])
idx.append(ids[10])
idx.append(ids[20])
assert status.OK()
for i in range(10):
status = connect.create_index(collection_list[i], IndexType.FLAT, index_param)
assert status.OK()
status = connect.create_index(collection_list[30 + i], IndexType.FLAT, index_param)
assert status.OK()
status = connect.create_index(collection_list[10 + i], IndexType.IVFLAT, index_param)
assert status.OK()
status = connect.create_index(collection_list[40 + i], IndexType.IVFLAT, index_param)
assert status.OK()
status = connect.create_index(collection_list[20 + i], IndexType.IVF_SQ8, index_param)
assert status.OK()
status = connect.create_index(collection_list[50 + i], IndexType.IVF_SQ8, index_param)
assert status.OK()
#describe index
for i in range(10):
status, result = connect.get_index_info(collection_list[i])
assert result._index_type == IndexType.FLAT
status, result = connect.get_index_info(collection_list[10 + i])
assert result._index_type == IndexType.IVFLAT
status, result = connect.get_index_info(collection_list[20 + i])
assert result._index_type == IndexType.IVF_SQ8
status, result = connect.get_index_info(collection_list[30 + i])
assert result._index_type == IndexType.FLAT
status, result = connect.get_index_info(collection_list[40 + i])
assert result._index_type == IndexType.IVFLAT
status, result = connect.get_index_info(collection_list[50 + i])
assert result._index_type == IndexType.IVF_SQ8
#search
query_vecs = [vectors[0], vectors[10], vectors[20]]
for i in range(60):
collection = collection_list[i]
status, result = connect.search(collection, top_k, query_records=query_vecs, params={"nprobe": 1})
assert status.OK()
assert len(result) == len(query_vecs)
logging.getLogger().info(i)
for j in range(len(query_vecs)):
assert len(result[j]) == top_k
for j in range(len(query_vecs)):
if not check_result(result[j], idx[3 * i + j]):
logging.getLogger().info(result[j]._id_list)
logging.getLogger().info(idx[3 * i + j])
assert check_result(result[j], idx[3 * i + j])
def check_result(result, id):
if len(result) >= 5:
return id in [result[0].id, result[1].id, result[2].id, result[3].id, result[4].id]
else:
return id in (i.id for i in result)