The search button does not work properly

Hey!
I have a search button in the app:

In order to find something, I have to write write the words one after the other, if there is a word in the middle, it won’t find me anything.

for example:
If I want to find chicken breast meatballs
I need to write chicken breast (in this word order) so that it finds what I’m looking for,

If I write chicken meatballs, it won’t find anything for me.

I want it to show me all the results with the words I wrote, regardless of the chronological order of the words.

The current definition is “contains”

thanks

1 Like

Can anyone help?

Hi @nadavma2,

Unfortunately “contains” has limitations, exactly as you’ve noticed: the phrase you’re typing need to be a part of a bigger phrase in the property you’re comparing to.
It will be quite difficult to achieve what you want in Adalo alone.

There is a “search index” approach: you create a separate field, where you put all the keywords related to the record, and then use “contains” filter. Here is a great explanation video: https://www.youtube.com/watch?v=ddf3dx-bIhs.

However you would like to be able to search based on a phrase, not on a word. This means that either you put all word combinations into the search index field (and you can imagine this will be complicated), or you use some 3rd party tool to search through the records in Adalo collection, and return the result to you (also it is complicated to set up and expensive to maintain).

Best,
Victor.

Hi Victor, thank you very much for the detailed answer!
It just seems very strange to me that the search has to be in chronological order.

The logic says that if it is by “contains”, it should display all results with that word, not in chronological order.

The options you suggested are complicated for me because
Database size.

1 Like

Anyone else encountered this problem and managed to solve it? Maybe the adalo team can explain this problem?

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