ElasticSearch версия: 5.1.1
Мне нужно получить один индекс, содержащий миллионы документов. По сути придется использовать Scroll с Slice . Есть 5 осколков. Обратите внимание, что мы не можем использовать Alpakka из-за версии, на которой работает эластичный поиск.
- Для этого сначала нужно сделать http-запрос к ElasticSearch
POST /twitter/tweet/_search?scroll=3m
{
"size": 100,
"query": {
"match_all" : {} }
}
Однако я хотел еще больше укрутить прокрутку на 5, чтобы повысить производительность. В рамках этого я хотел иметь возможность инициировать 5 параллельных HTTP-запросов (другой идентификатор слайса), как показано ниже
POST /twitter/tweet/_search?scroll=3m
{
"slice": {
"id": 0 },
"size": 100,
"query": {
"match_all" : {} }
}
POST /twitter/tweet/_search?scroll=3m
{
"slice": {
"id": 1 },
"size": 100,
"query": {
"match_all" : {} }
}
POST /twitter/tweet/_search?scroll=3m
{
"slice": {
"id": 2 },
"size": 100,
"query": {
"match_all" : {} }
}
POST /twitter/tweet/_search?scroll=3m
{
"slice": {
"id": 3 },
"size": 100,
"query": {
"match_all" : {} }
}
POST /twitter/tweet/_search?scroll=3m
{
"slice": {
"id": 4 },
"size": 100,
"query": {
"match_all" : {} }
}
POST /twitter/tweet/_search?scroll=3m
{
"slice": {
"id": 4 },
"size": 100,
"query": {
"match_all" : {} }
}
- Ожидается, что каждый из указанных выше HTTP-запросов будет возвращать отдельный идентификатор прокрутки, с помощью которого документы могут быть повторены с последующими http-запросами.
POST /_search/scroll
{
"scroll" : "1m",
"scroll_id" : "DXF1ZXJ5QW5kRmV0Y2gBAAAAAAAAAD4WYm9laVYtZndUQlNsdDcwakFMNjU1QQ=="
}
Я новичок в AkkaHttp и изо всех сил пытаюсь понять из документа Akka http о том, как инициировать 5 параллельных запросов, поэтому у меня есть следующие вопросы:
- Я могу придумать отдельный поток для пути для каждого, как показано ниже. Есть ли другой вариант?
1) Source1 -> Flow1 -> Sink1
2) Source2 -> Flow2 -> Sink2
3) Source3 -> Flow3 -> Sink3
4) Source4 -> Flow4 -> Sink4
5) Source5 -> Flow5 -> Sink5
- Как инициировать последующие запросы после завершения ответа в Sink?