If your filter isn’t returning the expected results, there are two common things to check.
First, make sure the attribute exists in your records and that the records actually contain the value you’re filtering on. A filter like category:Book only matches records where the category attribute is present and set to Book.
Second, make sure the attribute is included in attributesForFaceting. An attribute must be added there before it can be used for filtering.
If either of these conditions isn’t met, the filter won’t work as expected.