Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

BinaryFlat add 2 Metric: Substructure Superstructure #1603

Closed
shengjun1985 opened this issue Mar 10, 2020 · 4 comments · Fixed by #1718 or #1760
Closed

BinaryFlat add 2 Metric: Substructure Superstructure #1603

shengjun1985 opened this issue Mar 10, 2020 · 4 comments · Fixed by #1718 or #1760
Assignees

Comments

@shengjun1985
Copy link
Contributor

shengjun1985 commented Mar 10, 2020

Is your feature request related to a problem? Please describe.
I want Milvus to support more binary metrics.

Describe the solution you'd like
Here are the 2 Metric.
(1) Substructure: D(a, b) = ((a∩b)==a ? 0 : ∞)
(2) Superstructure: D(a, b) = ((a∩b)==b ? 0 : ∞)

Obviously, these two formulas do not satisfy the following properties.
(1) D(a, b) = D(b, a)
(2) D(a, b) + D(a, c) >= D(b, c)
So, IVF can not supported now.

Describe alternatives you've considered

Additional context

@shengjun1985 shengjun1985 self-assigned this Mar 10, 2020
JinHai-CN pushed a commit that referenced this issue Mar 14, 2020
* add substructure & superstructure

Signed-off-by: shengjun.li <shengjun.li@zilliz.com>

* support c++sdk by lin.xiaojun

Signed-off-by: shengjun.li <shengjun.li@zilliz.com>

* optimizer omp for BinaryFlat; add tutorial

Signed-off-by: shengjun.li <shengjun.li@zilliz.com>
@shengjun1985
Copy link
Contributor Author

shengjun1985 commented Mar 14, 2020

@youny626 Please help to add Java sdk.
@fishpenguin Please help to add Go and C++ sdk.
Thanks.

@BossZou
Copy link
Contributor

BossZou commented Mar 15, 2020

Python SDK have add Substructure and Superstructure. You can install pymilvus-test>=0.3.1 to use them. Here is an example to use them in python shell.

@youny626
Copy link
Contributor

Available in java SDK 0.6.0-SNAPSHOT

@fishpenguin
Copy link
Contributor

Go sdk and C++ sdk have added Substructure and Superstructure

JinHai-CN pushed a commit that referenced this issue Mar 24, 2020
* modify substructure/superstructure to perfect match

Signed-off-by: shengjun.li <shengjun.li@zilliz.com>

* Update cases

Signed-off-by: zw <zw@zilliz.com>

* Fix case bug

Signed-off-by: zw <zw@zilliz.com>

* set invalid distance infinite

Signed-off-by: shengjun.li <shengjun.li@zilliz.com>

* Add distance cases

Signed-off-by: zw <zw@zilliz.com>

* Fix test cases

Signed-off-by: zw <zw@zilliz.com>

* Re-trigger ci

Signed-off-by: zw <zw@zilliz.com>

* fix wrong code

Signed-off-by: shengjun.li <shengjun.li@zilliz.com>

* Fix test case

Signed-off-by: zw <zw@zilliz.com>

* Fix case

Signed-off-by: zw <zw@zilliz.com>

* Fix cases

Signed-off-by: zw <zw@zilliz.com>

Co-authored-by: zw <zw@zilliz.com>
MrPresent-Han pushed a commit to MrPresent-Han/milvus that referenced this issue Jun 4, 2024
Signed-off-by: cai.zhang <cai.zhang@zilliz.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment