Special characters are not working with search.in operator in ACS for example this doesn't fetch any value from ACS
search.in(category, 'Books & reference').
I have also tried to encode the special characters as follows but still no luck.
search.in(category, 'Books%20%26%20reference')
search.in(category, 'Books %26 reference')
search.in(category, 'Books+%26+reference')
search.in(category, 'Books & reference')
The only way it works is using the eq operator as follows
category eq 'Books & reference'
but as per ACS documentation seach.in is more performant and also convenient when there are multiple values of the attribute to filter for example
search.in(category, 'Movies,Education,Tools')
is more convenient than using eq operator as follows
category eq 'Books' OR category eq 'Education' OR category eq 'Tools'
Please try by changing:
to
Essentially in the first,
spaceis being treated as a delimiter. In the second, you are explicitly telling to use apipe (|)as a delimiter.Considering pipe character is no where in your search values, your category field is searched for
Books & referencewhereas in the first case, the search is performed forBook,&, andreferencevalues in category field.This is what the
documentationsay about the delimiters (emphasis mine):