Skip to content

Search input with enhanced server-side functionality #1699

@thohan88

Description

@thohan88

Great to see all the activity in bringing shiny to python, really appreciate it!

In my work, I have often missed the opportunity to have a truly server-side search bar for users. While the current server option of input_selectize works well for medium-sized data, it involves a roundtrip to Python/R, which can be memory-intensive for larger datasets at best. Typical use cases for an improved search includes:

  • Making an API-call to an external service (e.g. retrieving legal entities from a public register based on search query )
  • Making a database call to retrieve search results (e.g. retrieve ID of sales orders based on search query)

Currently, these cases do not fit well into the server-side capabilities of update_selectize.

I've made a modified version (update_search) that accepts a custom search function, which can take additional arguments such as a database connection or request object. Below is a minimal shinylive example of filtering a dataset of cities using DuckDB as the back-end.

I think the the combination of a low memory server-side function and custom rendering options from selectize makes this a compelling option for search. Is there interest in bringing something like this to shiny core?

Happy to move this into a discussion if it is more appropriate.

search-demo

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions