GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — feat: Enable keyword search for Milvus by YassinNouh21 · Pull Request #5199 · feast-dev/feast

Conversation

@YassinNouh21

@YassinNouh21 YassinNouh21 commented Mar 30, 2025

Copy link
Copy Markdown
Collaborator

What this PR does / why we need it:

Add keyword search support to Milvus online store implementation. This enables searching for documents in the Milvus store using text queries, in addition to the existing vector similarity search. The implementation supports:

  1. Pure keyword search using query_string parameter
  2. Vector similarity search using embedding parameter (existing functionality)
  3. Hybrid search combining both text and vector similarity

Keyword search is implemented using the LIKE operator for text fields, allowing users to find documents containing specific text without requiring vector embeddings.

Which issue(s) this PR fixes:

Fixes #5123

Misc

The implementation follows a similar pattern to the SQLite online store's keyword search functionality, but uses Milvus' filter capabilities. It maintains backward compatibility with all existing vector search tests.

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
@YassinNouh21
YassinNouh21 requested a review from a team as a code owner March 30, 2025 20:16
@YassinNouh21
YassinNouh21 force-pushed the feat/milvus-keyword-search branch from fa02068 to f52d5e7 Compare March 30, 2025 20:21
franciscojavierarceo
franciscojavierarceo reviewed Mar 30, 2025
View reviewed changes

@franciscojavierarceo franciscojavierarceo left a comment

Copy link
Copy Markdown
Member

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks like some formatted was applied that changed number of spaces? Can you revert those changes?

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
@YassinNouh21
YassinNouh21 force-pushed the feat/milvus-keyword-search branch from f52d5e7 to 224d0a1 Compare March 30, 2025 23:07
@YassinNouh21

YassinNouh21 commented Mar 30, 2025

Copy link
Copy Markdown
Collaborator Author

@franciscojavierarceo can u take look?

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@franciscojavierarceo franciscojavierarceo changed the title Feat/milvus keyword search feat: Enable keyword search for Milvus Mar 31, 2025
@franciscojavierarceo

franciscojavierarceo commented Mar 31, 2025

Copy link
Copy Markdown
Member

Looks like you need to run the linter.

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@YassinNouh21
YassinNouh21 force-pushed the feat/milvus-keyword-search branch from 7879f65 to 1505405 Compare March 31, 2025 02:44
YassinNouh21 and others added 4 commits March 31, 2025 04:45
@YassinNouh21
feat: Add support for hybrid search with vector and text queries in M…
cb4c64b
…ilvus

Signed-off-by: Yassin Nouh <[email protected]>
Signed-off-by: yassinnouh21 <[email protected]>
@YassinNouh21
test: Add keyword and hybrid search tests for Milvus online store
f4420b0
Signed-off-by: Yassin Nouh <[email protected]>
Signed-off-by: yassinnouh21 <[email protected]>
@YassinNouh21
fix linter
e2f3e28
Signed-off-by: Yassin Nouh <[email protected]>
Signed-off-by: yassinnouh21 <[email protected]>
@YassinNouh21
fix linter 2
79548cc
Signed-off-by: yassinnouh21 <[email protected]>
@YassinNouh21
YassinNouh21 force-pushed the feat/milvus-keyword-search branch from 1505405 to 79548cc Compare March 31, 2025 02:45
@YassinNouh21

YassinNouh21 commented Mar 31, 2025

Copy link
Copy Markdown
Collaborator Author

@franciscojavierarceo , my bad on the CI config issue—that was on me. I think there might have been some incompatibility with Mac OS for mypy. I appreciate your patience

franciscojavierarceo reacted with thumbs up emoji
All reactions
  • 👍 1 reaction

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@franciscojavierarceo franciscojavierarceo added the ok-to-test label Mar 31, 2025
franciscojavierarceo
franciscojavierarceo approved these changes Mar 31, 2025
View reviewed changes

@franciscojavierarceo franciscojavierarceo left a comment

Copy link
Copy Markdown
Member

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you for this!

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

YassinNouh21 reacted with heart emoji
All reactions
  • ❤️ 1 reaction
franciscojavierarceo
franciscojavierarceo approved these changes Mar 31, 2025
View reviewed changes

@franciscojavierarceo franciscojavierarceo left a comment

Copy link
Copy Markdown
Member

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚀🚀🚀 Thank you @YassinNouh21!

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

YassinNouh21 reacted with rocket emoji
All reactions
  • 🚀 1 reaction
@franciscojavierarceo
franciscojavierarceo merged commit ac44967 into feast-dev:master Mar 31, 2025
@YassinNouh21
YassinNouh21 deleted the feat/milvus-keyword-search branch March 31, 2025 17:42
franciscojavierarceo pushed a commit that referenced this pull request Apr 7, 2025
@feast-ci-bot
chore(release): release 0.48.0
8838320
# [0.48.0](v0.47.0...v0.48.0) (2025-04-07)

### Bug Fixes

* Enhance integration logos display and styling in the UI ([#5221](#5221)) ([5799257](5799257))
* Fix space typo in push.md docs ([#5184](#5184)) ([81677b2](81677b2))
* Fixed integration tests for qdrant and milvus ([#5224](#5224)) ([d6b080d](d6b080d))
* Formatting trino ([760ec0e](760ec0e))
* Multiple fixes in retrieval of online documents ([#5168](#5168)) ([66ddd3e](66ddd3e))
* Operator route creation for Feast UI in OpenShift ([e3946b4](e3946b4))
* Remove entity_rows parameter from retrieve_online_documents_v2 call ([#5225](#5225)) ([2a2e304](2a2e304))
* Styling ([#5222](#5222)) ([34c393c](34c393c))
* typo in the chart ([bd3448b](bd3448b))
* Update milvus-quickstart and feature_store.yaml with correct Milvus Config ([#5200](#5200)) ([306acca](306acca))
* Update Qdrant online store paths in repo_config.py ([#5207](#5207)) ([ab35b0b](ab35b0b)), closes [#5206](#5206)
* Update the doc ([#5194](#5194)) ([726464e](726464e))
* Updated the operator-rabc example to test RBAC from a Kubernete pod ([#5147](#5147)) ([d23a1a5](d23a1a5))

### Features

* add `real`(float32) type for trino offline store ([#4749](#4749)) ([0947f96](0947f96))
* Add async DynamoDB timeout and retry configuration ([#5178](#5178)) ([2f3bcf5](2f3bcf5))
* Add CronJob capability to the Operator (feast apply & materialize-incremental) ([#5217](#5217)) ([285c0dc](285c0dc))
* Add RAG tutorial and Use Cases documentation ([#5226](#5226)) ([99f4004](99f4004))
* Added CLI for features, get historical and online features ([#5197](#5197)) ([4ab9f74](4ab9f74))
* Added export support in feast UI ([#5198](#5198)) ([b079553](b079553))
* Added global registry search support in Feast UI ([#5195](#5195)) ([f09ea49](f09ea49))
* Added UI for Features list ([#5192](#5192)) ([cc7fd47](cc7fd47))
* Adding blog on RAG with Milvus ([#5161](#5161)) ([b9e2e6c](b9e2e6c))
* Adding Docling RAG demo ([#5109](#5109)) ([569404b](569404b))
* Allow transformations on writes to output list of entities ([#5209](#5209)) ([955521a](955521a))
* Cache get_any_feature_view results ([#5175](#5175)) ([924b8a3](924b8a3))
* Clickhouse offline store ([#4725](#4725)) ([86794c2](86794c2))
* Enable keyword search for Milvus ([#5199](#5199)) ([ac44967](ac44967))
* Enable transformations on PDFs ([#5172](#5172)) ([3674971](3674971))
* Enable users to use Entity Query as CTE during historical retrieval ([#5202](#5202)) ([fe69eaf](fe69eaf))
* helm support more deployment config ([d575372](d575372))
* Improved CLI file structuring ([#5201](#5201)) ([972ed34](972ed34))
* Kickoff Transformation implementationtransformation code base ([#5181](#5181)) ([0083303](0083303))
* Make keep-alive timeout configurable for async DynamoDB connections ([#5167](#5167)) ([7f3e528](7f3e528))
* Operator mounts the odh-trusted-ca-bundle configmap when deployed on RHOAI or ODH ([d4d7b0d](d4d7b0d))
* Spark Transformation ([#5185](#5185)) ([be3d85c](be3d85c))
jfw-ppi pushed a commit to jfw-ppi/feast that referenced this pull request Jun 7, 2025
@YassinNouh21 @jfw-ppi
feat: Enable keyword search for Milvus (feast-dev#5199)
7e45927
* feat: Add support for hybrid search with vector and text queries in Milvus

Signed-off-by: Yassin Nouh <[email protected]>
Signed-off-by: yassinnouh21 <[email protected]>

* test: Add keyword and hybrid search tests for Milvus online store

Signed-off-by: Yassin Nouh <[email protected]>
Signed-off-by: yassinnouh21 <[email protected]>

* fix linter

Signed-off-by: Yassin Nouh <[email protected]>
Signed-off-by: yassinnouh21 <[email protected]>

* fix linter 2

Signed-off-by: yassinnouh21 <[email protected]>

---------

Signed-off-by: Yassin Nouh <[email protected]>
Signed-off-by: yassinnouh21 <[email protected]>
Signed-off-by: Jacob Weinhold <[email protected]>
jfw-ppi pushed a commit to jfw-ppi/feast that referenced this pull request Jun 7, 2025
@feast-ci-bot @jfw-ppi
chore(release): release 0.48.0
cc36081
# [0.48.0](feast-dev/feast@v0.47.0...v0.48.0) (2025-04-07)

### Bug Fixes

* Enhance integration logos display and styling in the UI ([feast-dev#5221](feast-dev#5221)) ([5799257](feast-dev@5799257))
* Fix space typo in push.md docs ([feast-dev#5184](feast-dev#5184)) ([81677b2](feast-dev@81677b2))
* Fixed integration tests for qdrant and milvus ([feast-dev#5224](feast-dev#5224)) ([d6b080d](feast-dev@d6b080d))
* Formatting trino ([760ec0e](feast-dev@760ec0e))
* Multiple fixes in retrieval of online documents ([feast-dev#5168](feast-dev#5168)) ([66ddd3e](feast-dev@66ddd3e))
* Operator route creation for Feast UI in OpenShift ([e3946b4](feast-dev@e3946b4))
* Remove entity_rows parameter from retrieve_online_documents_v2 call ([feast-dev#5225](feast-dev#5225)) ([2a2e304](feast-dev@2a2e304))
* Styling ([feast-dev#5222](feast-dev#5222)) ([34c393c](feast-dev@34c393c))
* typo in the chart ([bd3448b](feast-dev@bd3448b))
* Update milvus-quickstart and feature_store.yaml with correct Milvus Config ([feast-dev#5200](feast-dev#5200)) ([306acca](feast-dev@306acca))
* Update Qdrant online store paths in repo_config.py ([feast-dev#5207](feast-dev#5207)) ([ab35b0b](feast-dev@ab35b0b)), closes [feast-dev#5206](feast-dev#5206)
* Update the doc ([feast-dev#5194](feast-dev#5194)) ([726464e](feast-dev@726464e))
* Updated the operator-rabc example to test RBAC from a Kubernete pod ([feast-dev#5147](feast-dev#5147)) ([d23a1a5](feast-dev@d23a1a5))

### Features

* add `real`(float32) type for trino offline store ([feast-dev#4749](feast-dev#4749)) ([0947f96](feast-dev@0947f96))
* Add async DynamoDB timeout and retry configuration ([feast-dev#5178](feast-dev#5178)) ([2f3bcf5](feast-dev@2f3bcf5))
* Add CronJob capability to the Operator (feast apply & materialize-incremental) ([feast-dev#5217](feast-dev#5217)) ([285c0dc](feast-dev@285c0dc))
* Add RAG tutorial and Use Cases documentation ([feast-dev#5226](feast-dev#5226)) ([99f4004](feast-dev@99f4004))
* Added CLI for features, get historical and online features ([feast-dev#5197](feast-dev#5197)) ([4ab9f74](feast-dev@4ab9f74))
* Added export support in feast UI ([feast-dev#5198](feast-dev#5198)) ([b079553](feast-dev@b079553))
* Added global registry search support in Feast UI ([feast-dev#5195](feast-dev#5195)) ([f09ea49](feast-dev@f09ea49))
* Added UI for Features list ([feast-dev#5192](feast-dev#5192)) ([cc7fd47](feast-dev@cc7fd47))
* Adding blog on RAG with Milvus ([feast-dev#5161](feast-dev#5161)) ([b9e2e6c](feast-dev@b9e2e6c))
* Adding Docling RAG demo ([feast-dev#5109](feast-dev#5109)) ([569404b](feast-dev@569404b))
* Allow transformations on writes to output list of entities ([feast-dev#5209](feast-dev#5209)) ([955521a](feast-dev@955521a))
* Cache get_any_feature_view results ([feast-dev#5175](feast-dev#5175)) ([924b8a3](feast-dev@924b8a3))
* Clickhouse offline store ([feast-dev#4725](feast-dev#4725)) ([86794c2](feast-dev@86794c2))
* Enable keyword search for Milvus ([feast-dev#5199](feast-dev#5199)) ([ac44967](feast-dev@ac44967))
* Enable transformations on PDFs ([feast-dev#5172](feast-dev#5172)) ([3674971](feast-dev@3674971))
* Enable users to use Entity Query as CTE during historical retrieval ([feast-dev#5202](feast-dev#5202)) ([fe69eaf](feast-dev@fe69eaf))
* helm support more deployment config ([d575372](feast-dev@d575372))
* Improved CLI file structuring ([feast-dev#5201](feast-dev#5201)) ([972ed34](feast-dev@972ed34))
* Kickoff Transformation implementationtransformation code base ([feast-dev#5181](feast-dev#5181)) ([0083303](feast-dev@0083303))
* Make keep-alive timeout configurable for async DynamoDB connections ([feast-dev#5167](feast-dev#5167)) ([7f3e528](feast-dev@7f3e528))
* Operator mounts the odh-trusted-ca-bundle configmap when deployed on RHOAI or ODH ([d4d7b0d](feast-dev@d4d7b0d))
* Spark Transformation ([feast-dev#5185](feast-dev#5185)) ([be3d85c](feast-dev@be3d85c))

Signed-off-by: Jacob Weinhold <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Reviewers

@franciscojavierarceo franciscojavierarceo franciscojavierarceo approved these changes

Uh oh!

There was an error while loading. Please reload this page.

Assignees

No one assigned

Labels

ok-to-test

Projects

None yet

Milestone

No milestone

Development

Successfully merging this pull request may close these issues.

Add Keyword Search Support to Milvus

Uh oh!

There was an error while loading. Please reload this page.

2 participants

@YassinNouh21 @franciscojavierarceo
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.