This extension allows filtering data in lists of large amounts of items. The filtering is done asynchronously therefore you can filter large lists and not notice any interference in the user interface.
Current Version Properties
- Works asynchronously.
- Use of all cpu cores for fast filtering.
- It has three types of filtering.
- Allows to establish a percentage of similarity
Blocks
Level of Similarity
It is an integer that goes from 0 to 100, it tells the engine how equal the items in the list with the keyword should be.
100 means they must be completely the same.
You can use the extension blocks(…Similarity) or put any number in 0-100 range
Search types
These blocks help us to search in different types of lists.
- Normal Type -> is used for searches in text lists.
- List Type -> it is used to search lists in which its items are other lists. In these sublists there must be at least one item that is text that allows comparison.
With the lookAtIndex field we tell the engine which index to look at when making the comparison.
If we don’t have a fixed index, we set it to 0 so that the engine searches the entire sublist. - Dictionary Type -> It is used to search in lists whose items are dictionaries.
The lookAtKey field allows us to establish in which key the engine will observe when making the comparison. If we leave it as an empty text, the engine will look at the whole dictionary.
OnMessage event
This event is called every time the engine has something to say, it may be that the search has ended or that there was an error when performing the search.
For this event we have two types of messages, if the message is that the search was successful, foundItems will return the list of found items that meet the comparison.
In message we obtain the number of items found or if there is an error when performing the search.
Search block
In this block we have to specify the keyword we want to search for, the source, which is the list in which the search is carried out, the type of search and the similarity.
The term lazy comparison means if the motor has to respect the position of each letter.
Case:
There is a list with an item that is “google”. And the keyWord that we enter in the search field is “oogle”.
If lazy comparison is disabled, the engine will determine that the position of the letters are not the same and therefore will discard the item “google” as a possible result.
If lazy comparison is activated, the item “google” will be recognized as a possible result.
Download
io.csapps.search.aix (22.7 KB)
Test .aia
Search_Test.aia (56.2 KB)