发布

  • [OPIK-2390] [BE/FE] Add dataset search functionality (#3304)

    frostbyte_neo 发布于 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 search parameter 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 search query parameter to /v1/private/datasets/{id}/items endpoint
    • 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 arrayExists with positionCaseInsensitive for 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

    下载附件