День добрый.
Исторически сложилось, что есть 18 одинаковых индексов. В каждом хранятся статьи на своем языке.
18 индексов == 18 В каждом индексе хранятся свои документы.
  "mappings": {
    "article": {"_meta": {"model": "WWW\SearchBundle\Document\Article" },
      "_all": {"auto_boost": true },
      "properties": {
        "keywords": {"index": "not_analyzed","type": "string"},
        "description": {"type": "string",
          "fields": {
            "language": {"type": "string"}
          }
        },
        "title": {"boost": 10,"type": "string",
          "fields": {
            "total": {"index": "not_analyzed", "type": "string"},
            "language": {"type": "string"}
          }
        }
      }
    }
Запросы все одинаковые, это типа поисковика:
 {
  "query": {
    "filtered": {
      "query": {
        "dis_max": {
          "queries": [
            {
              "constant_score": {
                "query": {
                  "multi_match": {
                    "type": "phrase",
                    "query": "donald trump us election",
                    "fields": [
                      "title"
                    ],
                    "fuzziness": 0,
                    "slop": 2
                  }
                },
                "boost": 5
              }
            },
            {
              "constant_score": {
                "query": {
                  "multi_match": {
                    "type": "phrase",
                    "query": "donald trump us election",
                    "fields": [
                      "description^5",
                      "keywords^0.25"
                    ],
                    "fuzziness": 0,
                    "slop": 2
                  }
                },
                "boost": 2
              }
            },
            {
              "constant_score": {
                "query": {
                  "multi_match": {
                    "type": "best_fields",
                    "query": "donald trump us election",
                    "fields": [
                      "title^2",
                      "description^0.2",
                      "keywords^0.25"
                    ],
                    "fuzziness": 1
                  }
                },
                "boost": 0.001
              }
            }
          ]
        }
      }
    }
  },
  "rescore": [
    {
      "query": {
        "rescore_query": {
          "function_score": {
            "functions": [
              {
                "gauss": {
                  "publishedAt": {
                    "origin": "2016-09-01T10:30:55-04:00",
                    "scale": "365d",
                    "decay": 0.5
                  }
                },
                "weight": 1
              }
            ]
          }
        },
        "rescore_query_weight": 1,
        "query_weight": 1,
        "score_mode": "multiply"
      },
      "window_size": 100000
    }
  ],
}
проблемы присутствуют в двух местах:
- функция rescore. Если запрос популярный, то могут возвращаться порядка 1 000 000 результатов, которые нужно обработать.
 - Третий подзапрос с "fuzziness": 1
 
Включение и отключение "fuzziness": 1 или 0 вызывает броски в быстродействии в 2 раза. При включении нечеткого поиска запрос выполняется примерно 400мс. при отключении - 200мс
замена rescore на сортировку тоже увеличивает быстродействие в 2 раза. для популярных выражений. Для редких статей - влияния не оказывает естественно.
Задача, ускорить запросы раз в 10. Ну или хотябы чтобы меньше 100мс уйти.
Думал сделать фильтрацию результатов, однако не могу, потому что подзапросы возвращают несортированные данные и если резать  результаты до 10000, то получается совсем грустно. а если больше - то особого смысла нет. все равно тупит.
Посоветуйте пожалуйста, как мне можно ограничить количественно выдачу из основного запроса, при этом получить наиболее поздние документы, попадающие в выборку, и удовлетворяющие подзапросам.
В данный момент по совокупности в индексах примерно 5 000 000 документов. Самый большой индекс русский (1 200 000 документов ).