-
[OPIK-2390] [BE/FE] Add dataset search functionality (#3304)
发布于
2025-09-25 09:49:22 +00:00 - [OPIK-2390] [BE/FE] Add dataset search functionality
Details
This PR adds dataset search functionality across backend and frontend layers, enabling users to search dataset items by content across all data fields.
Key Changes
Backend:
- Added
searchparameter to dataset items API endpoint - Refactored SQL queries using StringTemplate to eliminate code duplication
- Implemented case-insensitive search using ClickHouse functions
Frontend:
- Added search input component to DatasetItemsPage
- Implemented search query parameter management with auto page reset
Change checklist
- User facing
- Documentation update
Issues
- OPIK-2390
Testing
Integration Tests:
- Valid search term matching
- Case insensitive search
- Empty search handling
- No matches scenario
- Search with pagination
- Special characters handling
Results: 6 new tests added, all 288 tests passing
Documentation
N/A - No documentation updates required for this implementation
API Changes:
- Added optional
searchquery parameter to/v1/private/datasets/{id}/itemsendpoint - Parameter description: "Search text to filter dataset items by content in input, output, expected_output, expected_answer, and question fields"
Technical Implementation:
- Backend uses ClickHouse
arrayExistswithpositionCaseInsensitivefor efficient case-insensitive searching - Frontend implements debounced search with query parameter synchronization
- StringTemplate conditional logic ensures optimal query performance
-
Address implementation issues
-
Fix page issue
-
[OPIK-2390] refactor FE
-
[OPIK-2390] refactor search filters
-
Remove E2E tests
-
Update DatasetItemService.java
-
revert filters param to hook
Co-authored-by: Thiago Hora thiagoh@comet.com
Co-authored-by: Yaroslav Boiko yaroslavboiko@ip-192-168-1-15.ec2.internal
Co-authored-by: andrii.dudar fanat.web@gmail.com下载附件