Hi all,
If you’ve been Bubbling for a while, you may have noticed that searches involving “contains” would not always return what you expected. There was a bit going on behind-the-scenes that made it a bit surprising to newer users, so we have rolled out changes to clarify the situation.
The old “contains” clause has now been renamed “contains keyword(s)” - any existing use of “contains” has automatically been migrated for you. This behavior has not changed, but to clarify: this search will take the phrase you supply, break it up into component words, remove any “stop” words (short, common words like “the” or “a”), and look for entries in the database that have those chunks in it. For example, searching for ‘cat hat’, ‘cat in hat’, ‘cat in the hat’, ‘the hat cat’, or ‘hat cat’ would return ‘the cat in the hat’. This does not respect partial words that are not of the same stem though, so “pepp” would not return “peppers”.
There is a new “contains” clause that has different behavior which a lot of users expect it to have. This will look for exact matches of what you supply. So, ‘cat’, ‘hat’, ‘cat in’, ‘cat in the’, ‘in the hat’, ‘at in’, or ‘cat in the hat’ would all return the phrase ‘the cat in the hat’. However, searching for ‘cat the hat’, ‘cat hat’, or ‘Cat’ would not return ‘the cat in the hat’. This does work for partial searches, so “pepp” would return “peppers”.
Documentation in the Reference has been updated accordingly. Also note that there are also “does not contain” and “does not contain word(s)” as well.
This is not a breaking change, so there’s nothing you need to do to preserve your old app behavior. If you find the new “contain” is closer to what you want, you can now use it!
Many thanks to @sweta for working on this feature, as well as @peterj!
Cheers,
Allen