Searching for "shoe-lace" and "shoe lace" can retrieve a vastly different number of results due to the way that hyphenated words are treated by the Algolia search engine. Querying for "shoe-lace" will retrieve a smaller subset of the results that "shoe lace" would return (in a default search environment without any additional rules or synonyms).
The Algolia search engine causes hyphenated words to be treated as sequence expressions. This means that the engine is only looking for the hyphenated words when they appear next to each other.
More information on this can be found in our documentation:
In contrast, separating the hyphenated word with a space (instead of a hyphen) allows the engine to search for each term individually within the records. This leads to more matching possibilities, and therefore, more results.
If it's important to you that hyphenated words and non-hyphenated words show the same results, you can create a rule for each term, to replace the hyphenated words with non-hyphenated versions. For example, "shoe-lace" -> "shoe lace".