[Discovery Engine] Most Popular recommendation engine ignores filter parameter

[Discovery Engine] Most Popular recommendation engine ignores filter parameter

Hi,

I’m using the Most Popular media recommendation engine via the Discovery Engine API (v1beta) and the filter parameter appears to be ignored regardless of syntax.

API Endpoint:

https://discoveryengine.googleapis.com/v1beta/projects/{project_id}/locations/global/collections/default_collection/engines/{engine_id}/servingConfigs/{engine_id}:recommend

Request body tested:

{
  "params": {
    "returnDocument": true,
    "strictFiltering": true,
    "attributeFilteringSyntax": true
  },
  "filter": "media_type:ANY(\"movie\")",
  "userEvent": {
    "eventType": "view-home-page",
    "userPseudoId": "1234"
  },
  "useLatestServingConfig": true
}

Filters tested (all ignored):

  • language_code: ANY("en-US")
  • media_type: ANY("movie")
  • contentType: ANY("movie")
  • filter_tags: ANY("media_type:movie")

What I’ve verified:

  • Fields (language_code, media_type, categories, filter_tags) are marked as Filterable in the schema
  • Schema was updated more than 7 days ago (well past the 8-hour propagation window)
  • The same filter syntax works correctly on Recommended for You, Others You May Like, and More Like This engines
  • Results returned still include all media types (movies, tv-series, broadcast, live-event)

Observation:
The Most Popular model currently has a “Preview” badge in the Console. Could this mean that filtering is not yet supported for this model type?

Questions:

  1. Does the Most Popular recommendation model support server-side filtering?
  2. Is filtering a known limitation of the Preview version?
  3. Is there a workaround other than client-side filtering?

Thanks in advance.

1 Like