Skip to content

Conversation

@aniketpalu
Copy link
Contributor

What this PR does / why we need it:

  1. Return all matching tags instead of just the first one
  • Previously, when multiple tags matched a query, only one was returned
  • Now all matching tags (both exact and fuzzy) are collected and returned
  1. Changed matched_tag to matched_tags as a flat dictionary
  • Before: "matched_tag": {"key": "value"} (single match)
  • After: "matched_tags": {"key1": "value1", "key2": "value2"} (all matches)
  1. Made matched_tags a mandatory field in all search results
  • When query matches name/description, any matching tags are also returned
  • When query is empty, all tags are included in matched_tags
  • Empty {} when no tags match

Response Example for query = 'at'

{
  "query": "at",
  "projects_searched": [
    "test_project"
  ],
  "results": [
    {
      "type": "featureView",
      "name": "user_features",
      "description": "User demographic features",
      "project": "test_project",
      "matched_tags": {
        "team": "data"
      },
      "match_score": 100
    },
    {
      "type": "featureView",
      "name": "product_features",
      "description": "Product catalog features",
      "project": "test_project",
      "matched_tags": {},
      "match_score": 100
    },
    {
      "type": "featureView",
      "name": "transaction_features",
      "description": "Transaction payment features",
      "project": "test_project",
      "matched_tags": {},
      "match_score": 100
    },
    {
      "type": "featureView",
      "name": "user_on_demand_features",
      "description": "On-demand features combining user features with real-time data",
      "project": "test_project",
      "matched_tags": {
        "team": "data"
      },
      "match_score": 100
    },
    {
      "type": "feature",
      "name": "category",
      "description": "",
      "project": "test_project",
      "featureView": "product_features",
      "matched_tags": {},
      "match_score": 100
    },
    {
      "type": "savedDataset",
      "name": "user_training_dataset",
      "description": "",
      "project": "test_project",
      "matched_tags": {
        "team": "data"
      },
      "match_score": 100
    },
    {
      "type": "entity",
      "name": "user",
      "description": "User entity for customer data",
      "project": "test_project",
      "matched_tags": {
        "team": "data"
      },
      "match_score": 80
    },
    {
      "type": "entity",
      "name": "product",
      "description": "Product entity for catalog data",
      "project": "test_project",
      "matched_tags": {},
      "match_score": 80
    },
    {
      "type": "entity",
      "name": "transaction",
      "description": "Transaction entity for payment data",
      "project": "test_project",
      "matched_tags": {},
      "match_score": 80
    },
    {
      "type": "featureService",
      "name": "user_service",
      "description": "Service for user-related features",
      "project": "test_project",
      "matched_tags": {
        "team": "data"
      },
      "match_score": 80
    },
    {
      "type": "featureService",
      "name": "product_service",
      "description": "Service for product catalog features",
      "project": "test_project",
      "matched_tags": {},
      "match_score": 80
    }
  ],
  "pagination": {
    "page": 1,
    "limit": 50,
    "totalCount": 11,
    "totalPages": 1
  },
  "errors": []
}

Which issue(s) this PR fixes:

RHOAIENG-44611

Misc

Signed-off-by: Aniket Paluskar <apaluska@redhat.com>
@aniketpalu aniketpalu requested a review from a team as a code owner January 12, 2026 21:21
Copy link
Collaborator

@jyejare jyejare left a comment

Choose a reason for hiding this comment

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

LGTM, but looks like tests are not really testing the multiple tags. Please add that.

aniketpalu and others added 2 commits January 13, 2026 17:06
@aniketpalu aniketpalu requested a review from jyejare January 13, 2026 11:44
@Srihari1192
Copy link
Contributor

lgtm Thanks

Copy link
Member

@ntkathole ntkathole left a comment

Choose a reason for hiding this comment

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

Thanks

@ntkathole ntkathole merged commit de37f66 into feast-dev:master Jan 13, 2026
19 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants