Interactive Search Widget

Hello,
In this scenario, I have almost 110K string values coming in a column and a search widget needs to be applied on those values (110K). Once this search value is placed in the widget, it should return all possible values with the input (if the input value is part of the string, best possible combination should be returned from the 110K values).

Please suggest some solutions, looking forward. Thanks

Could work like this:
image

  1. User input in String Widget

  2. Use variable expressions to add “*” before and after the user Input

  3. Send your source data to Row Filter node and select the flow variable which now contains “searchTerm” as input for pattern. Click the checkbox “contains wildcards”

Edit:
Simple prototype with exact match:

2 Likes

Are the matches exact or fuzzy?

Thanks @MartinDDDD - this worked.
If multiple fields are to be searched, so the result will have the combination of the multiple column inputs, how can we achieve this?

fuzzy matches are expected in this scenario.

If you want to search multiple fields (I take additional columns) you need to add additional string input widgets. For Filtering you need to use Rule Based Row Filter.

I used LIKE condition and kept the wildcards at beginning and end of the search string.

Another quick prototype:


Have wrapped both string inputs into a component.
Also wrapped the data reading and filtering in a component and enabled “streaming”, which should speed up things for larger datasets. You will need the KNIME Streaming extension for this.

image

Unsure about how to make things fuzzy and also unsure about the exact logic you require - for now I assumed that conditions both need to be met (connected via AND).

Here’s the prototype:

2 Likes

Thanks @MartinDDDD , this solution worked. thanks for the prototype too. :clap:

1 Like

Take a look at this for some alternatives.

1 Like

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.