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

[Feature]: Multiple Vector Search #25639

Open
1 task done
joshuayyy opened this issue Jul 17, 2023 · 5 comments
Open
1 task done

[Feature]: Multiple Vector Search #25639

joshuayyy opened this issue Jul 17, 2023 · 5 comments
Assignees
Labels
kind/feature Issues related to feature request from users

Comments

@joshuayyy
Copy link

Is there an existing issue for this?

  • I have searched the existing issues

Is your feature request related to a problem? Please describe.

I have been using your product for quite some time now and I must say, it's truly a fantastic product. However, I've encountered a problem that led me to propose a feature request.

Firstly, at present, Milvus only supports single vector searches. This restricts its application in my use case, where each image is associated with two different vectors. In my database, each image is represented by two vectors: a semantic vector of the image and a descriptive vector derived from the image's title. Both vectors are generated using CLIP. I want to search using an image's semantic vector, but I would like this input vector to be compared against both the semantic and descriptive vectors of the images in the database. The current functionality doesn't allow a single input vector to be compared with multiple vectors of the same entity in the database.

Secondly, I am looking to perform a search operation involving multiple images. For instance, I may want to search for images that are similar to both image A and image B. However, the current system does not support such multi-image search operations.

Describe the solution you'd like.

I propose two enhancements to the existing Milvus system:

Extend the current search functionality to accommodate multiple vector comparisons for a single entity. Specifically, it would mean the capability to compare an input semantic vector with both the semantic and descriptive vectors of images in the database. Furthermore, to mitigate the inherent semantic gap between images and their textual descriptions, the results from the descriptive vectors should be given appropriate weightage when the input is a semantic vector.

Introduce the capability to conduct multi-image searches. This would enable users to input multiple semantic vectors and search for images similar to all the input images simultaneously. Furthermore, it would be ideal to allow adjustments of weights for each input image, to control the influence of each image in the search results.

Describe an alternate solution.

No response

Anything else? (Additional Context)

...

@joshuayyy joshuayyy added the kind/feature Issues related to feature request from users label Jul 17, 2023
@xiaofan-luan
Copy link
Collaborator

/assign @xige-16
/assign @czs007

for your reference

@xiaofan-luan
Copy link
Collaborator

multi vector is on the roadmap of Milvus 2.4
including features like

  1. build index on multiple index
  2. handoff with multiple index
  3. search with vector field specified
  4. ranking between multiple search result

sre-ci-robot pushed a commit that referenced this issue Dec 28, 2023
issue: #25639

/kind improvement
Signed-off-by: xige-16 <xi.ge@zilliz.com>

Signed-off-by: xige-16 <xi.ge@zilliz.com>
sre-ci-robot pushed a commit that referenced this issue Dec 29, 2023
issue: #25639 

/kind improvement
Signed-off-by: xige-16 <xi.ge@zilliz.com>

---------

Signed-off-by: xige-16 <xi.ge@zilliz.com>
sre-ci-robot pushed a commit that referenced this issue Jan 8, 2024
issue #25639 

Signed-off-by: xige-16 <xi.ge@zilliz.com>

Signed-off-by: xige-16 <xi.ge@zilliz.com>
@CitronBaBa
Copy link

Is there a documentation for this feature? As I understand it's searching two vector fields, the current hybrid search doc is about vector search with scalar field filtering, https://milvus.io/docs/hybridsearch.md#Conduct-a-hybrid-vector-search.

@xige-16
Copy link
Contributor

xige-16 commented Jan 16, 2024

Is there a documentation for this feature? As I understand it's searching two vector fields, the current hybrid search doc is about vector search with scalar field filtering, https://milvus.io/docs/hybridsearch.md#Conduct-a-hybrid-vector-search.

To be precise, this should be called a filtered search. Documentation for hybrid search, which supports multi-vector queries, will be available soon. @CitronBaBa

sre-ci-robot pushed a commit that referenced this issue Jan 29, 2024
issue: #25639 
/kind improvement

When the number of vector columns increases, the number of rows per
segment will decrease. In order to reduce the impact on vector indexing
performance, it is necessary to increase the segment max limit.

If a collection has multiple vector fields with memory and disk indices
on different vector fields, the size limit after segment compaction is
the minimum of segment.maxSize and segment.diskSegmentMaxSize.

Signed-off-by: xige-16 <xi.ge@zilliz.com>

---------

Signed-off-by: xige-16 <xi.ge@zilliz.com>
congqixia added a commit to congqixia/milvus-sdk-go that referenced this issue Feb 1, 2024
See also: milvus-io/milvus#25639
milvus pr: #29433

Signed-off-by: Congqi Xia <congqi.xia@zilliz.com>
sre-ci-robot pushed a commit to milvus-io/milvus-sdk-go that referenced this issue Feb 2, 2024
See also: milvus-io/milvus#25639
milvus pr:  milvus-io/milvus#29433

---------

Signed-off-by: Congqi Xia <congqi.xia@zilliz.com>
sre-ci-robot pushed a commit that referenced this issue Feb 7, 2024
feat: restful support new features

1. search with groupingField #25324
2. hybrid search #25639

Signed-off-by: PowderLi <min.li@zilliz.com>
PowderLi added a commit to PowderLi/milvus that referenced this issue Mar 8, 2024
feat: restful support new features

1. search with groupingField milvus-io#25324
2. hybrid search milvus-io#25639

Signed-off-by: PowderLi <min.li@zilliz.com>
sre-ci-robot pushed a commit that referenced this issue Apr 9, 2024
issue: #25639
#31368
pr :#32020

Signed-off-by: zhenshan.cao <zhenshan.cao@zilliz.com>
sre-ci-robot pushed a commit that referenced this issue Apr 9, 2024
issue: #25639
#31368

Signed-off-by: zhenshan.cao <zhenshan.cao@zilliz.com>
sre-ci-robot pushed a commit that referenced this issue Apr 11, 2024
…32147)

issue: #25639

Signed-off-by: zhenshan.cao <zhenshan.cao@zilliz.com>
sre-ci-robot pushed a commit that referenced this issue Apr 11, 2024
issue :#25639

Signed-off-by: zhenshan.cao <zhenshan.cao@zilliz.com>
sre-ci-robot pushed a commit that referenced this issue Apr 12, 2024
pr: #32177
issue: #25639

Signed-off-by: zhenshan.cao <zhenshan.cao@zilliz.com>
czs007 added a commit that referenced this issue Apr 17, 2024
issue: #25639

Signed-off-by: zhenshan.cao <zhenshan.cao@zilliz.com>
@ssling0817
Copy link

ssling0817 commented May 29, 2024

Hello, I have updated the pymilvus to version 2.4.1 and tried to connect to an existing milvus server, but the error message is still there. Does the server also need to be updated? Or updating code is enough. Thanks!

MilvusException: <MilvusException: (code=65535, message=multiple vector fields is not supported, fields name: summary_embeddings, description_embeddings)>

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/feature Issues related to feature request from users
Projects
None yet
Development

No branches or pull requests

6 participants