As far as I understand, the search capability looks into each cell for the exact string searched for. If there is not a 100% identity with any cell content, it will return no results.
That is, if I search for “A C” it will only find the row having on one cell the “A C” sequence; if one cell (the one I am looking) has “A B C”, it will not be found.
As I’d like to find the “A B C” cases, is this kind of search implementable in Glide via the simple “top search button”?
BTW, in testing few methods, I have created a template column (having all the useful values in the row), and I think that such template column is not searched. Is it possible, or I am missing something?
I guess what you are asking for here is regex-style pattern matching.
Whilst I agree that might be a nice thing to have, personally I wouldn’t consider it a high priority. I would think the Glide team have much bigger fish to fry
I am not a programmer
but I trust you on the “regex matching” term.
For now I have solved the usability of the app by placing in the search space the alias “Single keyword search”.
But I (and maybe others) would really love such searching capability!
Yes @Darren_Murphy, you are correct, I am referring to the search bar within the app.
I have used in a previous version the multiple choice to filter an inline list, but it looked much clunkier than the simple search bar.
The search bar is much more elegant and people are used to it. However it does not perform the “regex matching” you are referring to (and that I would need). That would be a nice addition to the app template, and I imaging only Glide can add this capability, right?
(i.e. we cannot modify the search bar functioning)
Yes, that’s right. It’s not currently possible.
Also, what you are suggesting probably wouldn’t work very well.
You should have a think about how the logic for that might actually work.
For example, when you enter “A C” and expect it to match “A B C”, does that also mean:
“A Z C” should match?
“A 12345678 B C” should match?
“@( A %#SD B *()#@ C” should match?
“A aaaaa B bbbbb C” should match?
How would Glide know which ones should match and which shouldn’t? (without being able to read your mind). The answer to that is regular expressions, which allow you to specify rules for matching.
So, getting back to your example, you could do something like:
^A.*C$ - which means “match any string that starts with A and ends with C”
But, most of your app users wouldn’t even know what a regular expression is, let alone know how to construct one
Actually the example you gave is correct. In those examples, I’d like Glide to show me all the elements having A and C (i.e. all the ones that you have listed), without caring what else is there. I am not trying to find only one, but all the elements that contain A and C.
So Glide should not read my mind, just spit out all the cells containing those two elements in the string .
That is why I made a template column in my table, to collect in that single cell all the elements existent in the row that are important for search. And, BTW, it seems the search bar does not look into that relation cell; is the search bar limiting its range to what is in the Google Sheet file only?
But your example also included a space. Does that mean the filtered results should be limited to those that also include a space?
What if somebody else wanted to filter by that exact sequence of characters (A C)? Wouldn’t they get a lot of unwanted results? Can you see the problem?
That’s a good question, and I don’t know the answer. If I was to make a guess, I’d say that it probably works on those columns you’ve included as either the Title or Details of your Inline List (a quick test seems to confirm that).
For your first point, in my utilization I do not see an issue, as space will always be in the cumulative template column I have created.
If there exists the exact sequence “A C”, the result will be among the list; basically, for now I do not care about giving the smallest set of results possible as the database is not that big.
For your second point, let me say that I am not using an “inline list” but simply a “list” layout. Using that, the search bar looks at an exact match in any of the cells in the table (except the famous Template column…)
That’s a great point. Back in the day when I wrote my own searches, I added heuristic search capabilities that simply used a default regex so that if they typed “M Jones” it would find “Jones, Mary” “Mable Jones” “Marty Jones” “Jones, Marty” "Mack “beebop” “Jones”, etc. Glide could construct and “advanced” or “heuristic” search which could apply the proper regex to do something like that. It could simply be a checkbox next to the search saying, “Free Form Search” or something like that.
That is correct, but you could create a template column that joins all of your converted columns into a single column. Then wrap it in some html that would effectively make the text invisible. Then place the text on the screen with a rich text component. If done correctly, you shouldn’t see the text, but it will still be searchable.
I used this plugin: Remove Text Accents column • Glide to make a “No accent” column, then created a template column to wrap that value inside this tag: <div style="display: none;"> TEXT </div>, and finally added a Rich Text component to the details of an Inline list.
I tried searching and it didn’t populate the results.
To troubleshoot, I chose the original “No accent” column to make sure it was actually showing up in the details screen, and then tried the search, again with no results.
This screenshot shows the details page.
The green arrow is the original text with accent.
The red arrow is the “No accent” column as a Rich Text component value.
When I search “Miércoles”, it works as always.
When I search “Miercoles”, it doesn’t show any results and It’s misleading because I’m watching it right there, heh.