diff --git a/wagtail/search/backends/elasticsearch2.py b/wagtail/search/backends/elasticsearch2.py index 67da9cc8d..2b9f688db 100644 --- a/wagtail/search/backends/elasticsearch2.py +++ b/wagtail/search/backends/elasticsearch2.py @@ -340,10 +340,8 @@ class Elasticsearch2SearchQuery(BaseSearchQuery): if lookup == 'in': if isinstance(value, Query): db_alias = self.queryset._db or DEFAULT_DB_ALIAS - value = next(value.get_compiler(db_alias) - .execute_sql(result_type=MULTI)) - - value = [r[0] for r in value] + resultset = value.get_compiler(db_alias).execute_sql(result_type=MULTI) + value = [row[0] for chunk in resultset for row in chunk] elif not isinstance(value, list): value = list(value)