# Significant\_termsでforeground queryとbackground queryが同じ場合の挙動

**URL:** <https://discuss.elastic.co/t/significant-terms-foreground-query-background-query/203800>\
**Category:** 日本語による質問・議論はこちら\
**Created:** [October 16, 2019, 9:35am UTC](https://discuss.elastic.co/t/significant-terms-foreground-query-background-query/203800 "2019-10-16T09:35:16Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![itomohisa](https://avatars.discourse-cdn.com/v4/letter/i/7ba0ec/32.png) [@itomohisa](https://discuss.elastic.co/u/itomohisa)\
**Post date:** [October 16, 2019, 9:35am UTC](https://discuss.elastic.co/t/significant-terms-foreground-query-background-query/203800/1 "2019-10-16T09:35:16Z")

</div>

お世話になります。

Elasticsearch 5.4.2 から 7.3.0 へのアップデート検証を行っていたところ、significant\_termsの挙動が異なっていました。

mappings

```auto
"keywords": {
  "type": "text",
  "index_options": "freqs",
  "norms": false,
  "fields": {
    "raw": {
      "type": "keyword",
      "ignore_above": 256
    }
  }
}
...

```

検索で使用したクエリ

```auto
{
    "query": {
        "query_string": {
            "default_operator": "AND",
            "query": "keywords:*"
        }
    },
    "size": 0,
    "aggs": {
        "sig_keywords": {
            "significant_terms": {
                "field": "keywords.raw",
                "size": 30,
                "min_doc_count": 3,
                "background_filter": {
                    "query_string": {
                        "query": "keywords:*",
                        "default_operator": "AND"
                    }
                }
            }
        }
    }
}

```

Response (Elasticsearch 5.4.2)

```auto
{
    'aggregations':{
        'sig_keywords': {
            'doc_count': 1798271,
            'buckets':[
                {'key': 'りんご', 'doc_count': 622344, 'score': 0.149700525325334, 'bg_count': 627509},
                {'key': 'ぶどう', 'doc_count': 391372, 'score': 0.09621372052089101, 'bg_count': 392015},
                {'key': 'なし', 'doc_count': 277625, 'score': 0.06527967457084201, 'bg_count': 281842},
                ...
            ]
        }
    }
    ...
}

```

Response (Elasticsearch 7.3.0)

```auto
{
    'aggregations':{
        'sig_keywords': {
            'doc_count': 1798271,
            'bg_count': 1798271,
            'buckets':[]
        }
    }
    ...
}

```

foreground queryとbackground queryの結果が同じ場合、scoreの算出ができずbucketsが出力されないのかなと思っています。  
そうであればscoreが算出できてしまっているのが5.4.2のバグで、それが修正されたのかとrelease noteを探してみたのですがそれらしい内容を見つけられませんでした。

もし5.4.2時点の挙動が正しいのであれば7.3.0の挙動はバグのようにも見えます。  
7.3.0でのこの挙動は正しい動きなんでしょうか？

---

<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:** [November 13, 2019, 9:35am UTC](https://discuss.elastic.co/t/significant-terms-foreground-query-background-query/203800/2 "2019-11-13T09:35:25Z")

</div>

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.
