# Slow queries (fuzzy) - how to disable score calculation

**URL:** <https://discuss.elastic.co/t/slow-queries-fuzzy-how-to-disable-score-calculation/316711>\
**Category:** Elasticsearch\
**Created:** [October 16, 2022, 6:52pm UTC](https://discuss.elastic.co/t/slow-queries-fuzzy-how-to-disable-score-calculation/316711 "2022-10-16T18:52:01Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![Giorgos\_Katiforis](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/giorgos_katiforis/32/100083_2.png) [@Giorgos\_Katiforis](https://discuss.elastic.co/u/Giorgos_Katiforis)\
**Post date:** [October 16, 2022, 6:52pm UTC](https://discuss.elastic.co/t/slow-queries-fuzzy-how-to-disable-score-calculation/316711/1 "2022-10-16T18:52:01Z")

</div>

The query has several `match` conditions with `fuzziness 2`, which makes it quite expensive. I don't want to search for document relevance or any kind of scoring, just identify the list of document IDs that match the query criteria. A simplified version of a query is:

```auto
{
    "profile": true,
    "sort": "_doc",
    "query": {
        "constant_score": {
            "filter": {
                "bool": {
                    "filter": [
                        {
                            "bool": {
                                "should": [
                                    {
                                        "match": {
                                            "namesCombined": {
                                                "query": "name1 name2 name3",
                                                "operator": "AND",
                                                "fuzziness": "2",
                                                "fuzzy_rewrite": "constant_score"
                                            }
                                        }
                                    },
                                    {
                                        "match": {
                                            "namesCombined": {
                                                "query": "name1",
                                                "operator": "AND",
                                                "fuzziness": "2",
                                                "fuzzy_rewrite": "constant_score"
                                            }
                                        }
                                    }
                                ],
                                "minimum_should_match": "1"
                            }
                        }
                    ]
                }
            },
            "boost": 1.0
        }
    },
    "_source": {
        "includes": [
            "id"
        ],
        "excludes": []
    }
}

```

The above query takes **5ms** to execute (when the documents are matched) in an index of 2 documents total, which is a long time for such a simple query. After analyzing with profile API seems that the `build_scorer` takes **3.8ms**. Even though I use` bool filter`,` constant_score` queries, and `"fuzzy_rewrite":"constant_score"`, the score calculation slows down the search process. I also noticed that if I use the default rewite method instead of `"fuzzy_rewrite":"constant_score"` the `rewrite_time` increases to **3ms** and the `build_scorer` remains low. Is it possible to disable the scoring or improve the performance? Any advice or suggestion would be appreciated.

Profiler results:

```auto

{
  "profile": {
    "shards": [
      {
        "id": "[v1VNjaOiQrqkDPKg4aTVfA][testindex][0]",
        "searches": [
          {
            "query": [
              {
                "type": "ConstantScoreQuery",
                "description": "ConstantScore(((+namesCombined:NICKOLAS~2 +namesCombined:JACK~2 +namesCombined:DOE~2) namesCombined:JACKDOE~2)~1)",
                "time_in_nanos": 3902030,
                "breakdown": {
                  "set_min_competitive_score_count": 0,
                  "match_count": 0,
                  "shallow_advance_count": 0,
                  "set_min_competitive_score": 0,
                  "next_doc": 6278,
                  "match": 0,
                  "next_doc_count": 10,
                  "score_count": 0,
                  "compute_max_score_count": 0,
                  "compute_max_score": 0,
                  "advance": 9500,
                  "advance_count": 2,
                  "score": 0,
                  "build_scorer_count": 4,
                  "create_weight": 4852,
                  "shallow_advance": 0,
                  "create_weight_count": 1,
                  "build_scorer": 3881400
                },
                "children": [
                  {
                    "type": "BooleanQuery",
                    "description": "((+namesCombined:NICKOLAS~2 +namesCombined:JACK~2 +namesCombined:DOE~2) namesCombined:JACKDOE~2)~1",
                    "time_in_nanos": 3899555,
                    "breakdown": {
                      "set_min_competitive_score_count": 0,
                      "match_count": 0,
                      "shallow_advance_count": 0,
                      "set_min_competitive_score": 0,
                      "next_doc": 5909,
                      "match": 0,
                      "next_doc_count": 10,
                      "score_count": 0,
                      "compute_max_score_count": 0,
                      "compute_max_score": 0,
                      "advance": 9411,
                      "advance_count": 2,
                      "score": 0,
                      "build_scorer_count": 4,
                      "create_weight": 3493,
                      "shallow_advance": 0,
                      "create_weight_count": 1,
                      "build_scorer": 3880742
                    },
                    "children": [
                      {
                        "type": "BooleanQuery",
                        "description": "+namesCombined:NICKOLAS~2 +namesCombined:JACK~2 +namesCombined:DOE~2",
                        "time_in_nanos": 2702444,
                        "breakdown": {
                          "set_min_competitive_score_count": 0,
                          "match_count": 0,
                          "shallow_advance_count": 0,
                          "set_min_competitive_score": 0,
                          "next_doc": 5518,
                          "match": 0,
                          "next_doc_count": 10,
                          "score_count": 0,
                          "compute_max_score_count": 0,
                          "compute_max_score": 0,
                          "advance": 9329,
                          "advance_count": 2,
                          "score": 0,
                          "build_scorer_count": 6,
                          "create_weight": 2024,
                          "shallow_advance": 0,
                          "create_weight_count": 1,
                          "build_scorer": 2685573
                        },
                        "children": [
                          {
                            "type": "MultiTermQueryConstantScoreWrapper",
                            "description": "namesCombined:NICKOLAS~2",
                            "time_in_nanos": 1719693,
                            "breakdown": {
                              "set_min_competitive_score_count": 0,
                              "match_count": 0,
                              "shallow_advance_count": 0,
                              "set_min_competitive_score": 0,
                              "next_doc": 0,
                              "match": 0,
                              "next_doc_count": 0,
                              "score_count": 0,
                              "compute_max_score_count": 0,
                              "compute_max_score": 0,
                              "advance": 4243,
                              "advance_count": 12,
                              "score": 0,
                              "build_scorer_count": 6,
                              "create_weight": 334,
                              "shallow_advance": 0,
                              "create_weight_count": 1,
                              "build_scorer": 1715116
                            }
                          },
                          {
                            "type": "MultiTermQueryConstantScoreWrapper",
                            "description": "namesCombined:JACK~2",
                            "time_in_nanos": 543438,
                            "breakdown": {
                              "set_min_competitive_score_count": 0,
                              "match_count": 0,
                              "shallow_advance_count": 0,
                              "set_min_competitive_score": 0,
                              "next_doc": 810,
                              "match": 0,
                              "next_doc_count": 10,
                              "score_count": 0,
                              "compute_max_score_count": 0,
                              "compute_max_score": 0,
                              "advance": 3695,
                              "advance_count": 2,
                              "score": 0,
                              "build_scorer_count": 6,
                              "create_weight": 20,
                              "shallow_advance": 0,
                              "create_weight_count": 1,
                              "build_scorer": 538913
                            }
                          },
                          {
                            "type": "MultiTermQueryConstantScoreWrapper",
                            "description": "namesCombined:DOE~2",
                            "time_in_nanos": 416365,
                            "breakdown": {
                              "set_min_competitive_score_count": 0,
                              "match_count": 0,
                              "shallow_advance_count": 0,
                              "set_min_competitive_score": 0,
                              "next_doc": 0,
                              "match": 0,
                              "next_doc_count": 0,
                              "score_count": 0,
                              "compute_max_score_count": 0,
                              "compute_max_score": 0,
                              "advance": 3024,
                              "advance_count": 12,
                              "score": 0,
                              "build_scorer_count": 6,
                              "create_weight": 20,
                              "shallow_advance": 0,
                              "create_weight_count": 1,
                              "build_scorer": 413321
                            }
                          }
                        ]
                      },
                      {
                        "type": "MultiTermQueryConstantScoreWrapper",
                        "description": "namesCombined:JACKDOE~2",
                        "time_in_nanos": 1187767,
                        "breakdown": {
                          "set_min_competitive_score_count": 0,
                          "match_count": 0,
                          "shallow_advance_count": 0,
                          "set_min_competitive_score": 0,
                          "next_doc": 0,
                          "match": 0,
                          "next_doc_count": 0,
                          "score_count": 0,
                          "compute_max_score_count": 0,
                          "compute_max_score": 0,
                          "advance": 0,
                          "advance_count": 0,
                          "score": 0,
                          "build_scorer_count": 2,
                          "create_weight": 19,
                          "shallow_advance": 0,
                          "create_weight_count": 1,
                          "build_scorer": 1187748
                        }
                      }
                    ]
                  }
                ]
              }
            ],
            "rewrite_time": 28163,
            "collector": [
              {
                "name": "SimpleFieldCollector",
                "reason": "search_top_hits",
                "time_in_nanos": 75426
              }
            ]
          }
        ],
        "aggregations": []
      }
    ]
  }
}

```

A sample document:

`{"id":"id","namesCombined":"name1 name2 name3"}`

Index settings and mapping:

```auto
{
  "settings": {
    "index": {
      "number_of_shards": 1,
      "number_of_replicas": 0,
      "store.type": "mmapfs",
      "refresh_interval": "300s"
    }
  },
  "mappings": {
    "namesCombined": {
      "type": "text",
      "analyzer": "whitespace",
      "doc_values": false,
      "index_options": "docs",
      "norms": false,
      "store": false,
      "term_vector": "no"
    }
  }
}

```

---

<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, 2022, 6:52pm UTC](https://discuss.elastic.co/t/slow-queries-fuzzy-how-to-disable-score-calculation/316711/2 "2022-11-13T18:52:19Z")

</div>

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