Please double check that…

I believe Contains returns partial matches (note there’s also “contains keyword(s)” which is different and matches whole words).

However, for the case-sensitive issue, I worked on that on two different apps recently.

You can create a new field just for these searches, and when you save the data you intend to search also save to it, but in lowercase.