[PR #17445] feat: support select-type variables in Metadata Filtering (#17440 #28702

Closed
opened 2026-02-21 20:43:57 -05:00 by yindo · 0 comments
Owner

Original Pull Request: https://github.com/langgenius/dify/pull/17445

State: closed
Merged: Yes


Summary

Description

This PR adds support for select-type variables in the Metadata Filtering feature for knowledge retrieval.
Previously, only string and number variables were supported, but select variables (dropdown options)
were being filtered out despite being functionally equivalent to strings at runtime.

Changes Made

  • Added 'select' to MetadataFilteringVariableType enum
  • Updated dataset-config component to include select variables in the string variable filter
  • Modified utils.ts to apply string-type operators to select variables
  • Updated condition-item.tsx to handle and render select variables as strings
  • Added select variable support to the metadata icon component

Testing Done

Tested the changes by:

  • Creating an app with select-type variables
  • Confirming select variables now appear in the metadata filtering dropdown
  • Verifying that filtering with select variables works as expected in knowledge retrieval

fixes #17440

Screenshots

Before:

430183974-216afe0f-c5fa-4608-870d-1add2184eaa1

After:

image

Checklist

Important

Please review the checklist below before submitting your pull request.

  • This change requires a documentation update, included: Dify Document
  • I understand that this PR may be closed in case there was no previous discussion or issues. (This doesn't apply to typos!)
  • I've added a test for each change that was introduced, and I tried as much as possible to make a single atomic change.
  • I've updated the documentation accordingly.
  • I ran dev/reformat(backend) and cd web && npx lint-staged(frontend) to appease the lint gods
**Original Pull Request:** https://github.com/langgenius/dify/pull/17445 **State:** closed **Merged:** Yes --- # Summary ## Description This PR adds support for select-type variables in the Metadata Filtering feature for knowledge retrieval. Previously, only string and number variables were supported, but select variables (dropdown options) were being filtered out despite being functionally equivalent to strings at runtime. ## Changes Made - Added 'select' to MetadataFilteringVariableType enum - Updated dataset-config component to include select variables in the string variable filter - Modified utils.ts to apply string-type operators to select variables - Updated condition-item.tsx to handle and render select variables as strings - Added select variable support to the metadata icon component ## Testing Done Tested the changes by: - Creating an app with select-type variables - Confirming select variables now appear in the metadata filtering dropdown - Verifying that filtering with select variables works as expected in knowledge retrieval fixes #17440 # Screenshots ## Before: ![430183974-216afe0f-c5fa-4608-870d-1add2184eaa1](https://github.com/user-attachments/assets/e35e97a2-baf9-42d0-889a-4c3a6e06be8b) ## After: ![image](https://github.com/user-attachments/assets/ce41b36d-80b8-4e76-9af8-2ce17122ce6c) # Checklist > [!IMPORTANT] > Please review the checklist below before submitting your pull request. - [ ] This change requires a documentation update, included: [Dify Document](https://github.com/langgenius/dify-docs) - [x] I understand that this PR may be closed in case there was no previous discussion or issues. (This doesn't apply to typos!) - [x] I've added a test for each change that was introduced, and I tried as much as possible to make a single atomic change. - [x] I've updated the documentation accordingly. - [x] I ran `dev/reformat`(backend) and `cd web && npx lint-staged`(frontend) to appease the lint gods
yindo added the pull-request label 2026-02-21 20:43:57 -05:00
yindo closed this issue 2026-02-21 20:43:57 -05:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: langgenius/dify#28702