How multiple NLPFilters are applied for a given query

I’m trying to understand the order of NLPFilters being applied. In this example the query “white long sleeve men button down” contains 4 potential filters: color: white, sleeve_length: long sleeve, department: men, type: button down.

My NLPFilterOrder is defined as:

      "nlpFilterOrder": [
        "c_department",
        "c_type",
        "c_color"

In theory, “men” should be evaluated first yet as I move it around in the query it changes the outcome. In the first two queries results are as expected. In the last example, results are poor.

Any suggestions or clarification of behavior of NLPFilter?

Hey Nick - so this isn’t quite what nlpFilterOrder does. nlpFilterOrder is only for breaking ties between two filters that have the same value.

For example if you had a field called “Gender” and another called “Department” and both of them had “Mens” as an option, then nlpFilterOrder would decide whether to apply the “Mens” filter on the “Department” field or the “Gender” field, since something needs to break the tie.

The issue you’re seeing is strange - I can’t think of why the word “men” would trigger the NLP filter for the first two queries but not the third. I’ll look into it with engineering.