milvus-io / milvus

A cloud-native vector database, storage for next generation AI applications
https://milvus.io
Apache License 2.0
30.9k stars 2.95k forks source link

[Bug]: upsert into milvus use hybridSearch and search get same id result is diff #37677

Open I-am-DJ opened 1 week ago

I-am-DJ commented 1 week ago

Is there an existing issue for this?

Environment

- Milvus version:V2.4.5
- Deployment mode(standalone or cluster):
- MQ type(rocksmq, pulsar or kafka):    
- SDK version(e.g. pymilvus v2.0.0rc2):
- OS(Ubuntu or CentOS): 
- CPU/Memory: 
- GPU: 
- Others:

Current Behavior

对应collection结构

Expected Behavior

No response

Steps To Reproduce

No response

Milvus Log

No response

Anything else?

No response

github-actions[bot] commented 1 week ago

The title and description of this issue contains Chinese. Please use English to describe your issue.

I-am-DJ commented 1 week ago

对应collection结构 image hybridSearch结果:

I-am-DJ commented 1 week ago

hybridSearch结果: image search: image

yanliang567 commented 1 week ago

@I-am-DJ could you please try collection.query(expr='id==136300913', output_fields=['count(*)'] meanswhile, i will try to reproduce it in house.

/assign @I-am-DJ

I-am-DJ commented 1 week ago

@I-am-DJ您能否同时尝试 collection.query(expr='id==136300913', output_fields=['count(*)']一下,我会尝试在家里重现它。

/分配@I-am-DJ

[{"extInfo":{"count(*)":6}}] @yanliang567

yanliang567 commented 1 week ago

[{"extInfo":{"count(*)":6}}]

it means that you have 6 entities that have the same id==136300913 :( I believe that it was caused by duplicated id...

I-am-DJ commented 1 week ago

[{"extInfo":{"count(*)":6}}]

it means that you have 6 entities that have the same id==136300913 :( I believe that it was caused by duplicated id...

it not delete the original data when upsert the same id ? @yanliang567

I-am-DJ commented 1 week ago

i see the doc can be overwritten https://milvus.io/docs/insert-update-delete.md#Upsert-entities

I-am-DJ commented 1 week ago

is need update to v2.4.12 ? #36274 @yanliang567

yanliang567 commented 1 week ago

do you only use upsert() for data ingestion? no insert() or bulk_insert()?

I-am-DJ commented 1 week ago

do you only use upsert() for data ingestion? no insert() or bulk_insert()?

yes only use upsert()

xiaofan-luan commented 1 week ago

maybe this is a bug for 2.4.5

I-am-DJ commented 1 week ago

maybe this is a bug for 2.4.5

how can i solve this problem, delete first then upsert? @xiaofan-luan

yanliang567 commented 1 week ago

please try to upgrade to 2.4.15

yanliang567 commented 3 days ago

@I-am-DJ any updates