# Background\_filter for significant\_terms

**URL:** <https://discuss.elastic.co/t/background-filter-for-significant-terms/48065>\
**Category:** Elasticsearch\
**Created:** [April 21, 2016, 2:48pm UTC](https://discuss.elastic.co/t/background-filter-for-significant-terms/48065 "2016-04-21T14:48:22Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![Tibor\_Schmidt](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/tibor_schmidt/32/24892_2.png) [@Tibor\_Schmidt](https://discuss.elastic.co/u/Tibor_Schmidt)\
**Post date:** [April 21, 2016, 2:48pm UTC](https://discuss.elastic.co/t/background-filter-for-significant-terms/48065/1 "2016-04-21T14:48:22Z")

</div>

Hey,  
I'm using es 1.7 and I'd like to start playing with the significant\_terms aggregation.

Im using elasticsearch-dsl-py, printing the query as a dict:

```
{
	"aggs": {
		"myterms": {
			"significant_terms": {
				"background_filter": {
					"filtered": {
						"query": {
							"bool": {
								"minimum_should_match": 1,
								"must": [{
									"query_string": {
										"query": "*"
									}
								}]
							}
						}
					}
				},
				"field": "cause",
				"size": 10
			}
		}
	},
	"query": {
		"bool": {
			"minimum_should_match": 1,
			"must": [{
				"query_string": {
					"query": " originIP:*"
				}
			}]
		}
	}
}

```

I get

```
elasticsearch.exceptions.RequestError: TransportError(400, 'SearchPhaseExecutionException[Failed to execute phase [query], all shards failed; shardFailures {[E3qocB6eRFC5prFYyb5b_g][email-probe-day-2016-04-20][0]: RemoteTransportException[[a6es-e19-es1][inet[/10.28.9.31:9301]][indices:data/read/search[phase/query]]]; nested: SearchParseException[[email-probe-day-2016-04-20][0]: query[+originIP:*],from[-1],size[-1]: Parse Failure [Failed to parse source [{"query": {"bool": {"must": [{"query_string": {"query": " originIP:*"}}], "minimum_should_match": 1}}, "aggs": {"myterms": {"significant_terms": {"field": "cause", "background_filter": {"filtered": {"query": {"bool": {"must": [{"query_string": {"query": " *"}}], "minimum_should_match": 1}}}}, "size": 10}}}}]]]; nested: QueryParsingException[[email-probe-day-2016-04-20] No filter registered for [filtered]]; }

```

Is background\_filter so limited or what am I doing wrong? Thanks

---

<div class="post-metadata">

**Author:** ![Jared\_Miller](https://avatars.discourse-cdn.com/v4/letter/j/3be4f8/32.png) [@Jared\_Miller](https://discuss.elastic.co/u/Jared_Miller)\
**Post date:** [June 8, 2016, 6:52pm UTC](https://discuss.elastic.co/t/background-filter-for-significant-terms/48065/2 "2016-06-08T18:52:04Z")

</div>

Found this topic after trying to do a similar thing myself. Found something that works by trial and error (doesn't seem to be documented). At least in 2.3 you can do `"background_filter": { "bool": { "filter": [...] } }`, OR `"background_filter": { "bool": { "must": [...] } }` (same results it appears). Worth a try in 1.7 too.

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)\
**Post date:** [July 5, 2017, 10:45pm UTC](https://discuss.elastic.co/t/background-filter-for-significant-terms/48065/3 "2017-07-05T22:45:14Z")

</div>


