170 похожих чатов

Ещё раз всем привет. У нас в сервисе используется еластисёрч,

ну буквально небольшой сервис был построен вокруг еластика, и тут встал вопрос что надо как-то бы тестировать запросы в эластик без моков.
Кто-нибудь сталкивался с тестированием эластиксёрча без моков?

Основная проблема это загрузка данных в индекс для тестирования. Допустим мы поднимаем контейнер эластика перед тестами, загружаем туда тестовы данные прям из теста, и потом тестируем методы которые что-то возвращают из базы.

Так вот проблема в том что нам условно 2-3 записи надо загрузить в индекс, так вот загружает он без проблем, только вот когда тест идёт дальшё и использует метод который достаёт что-то из эластика, тут проблема поскольку данные в эластике индексируются не моментально, и есть задержка, тобишь мы выоплнили функцию положи данные в индекс, дальше используем функцию возьми вот с такими фильтрами данные из индекса.
!И это отрабатывает слишком быстро!
Если между методом который грузит данные в эластик и методом который читает данные из эластика со всякими фильтрами воткнуть time.Sleep то всё более менее работает, но без него нет

Если есть опыт с такой ситуацией, подскажите пожалуйста что можно сделать

4 ответов

17 просмотров

Можно сделать refresh или flush на индексе, после того как вы записали тестовые данные. Обе эти операции перестраивают внутренние индексы и после этого запросы на поиск будут отрабатывать корректно.

Будь постгрес, ну или норм СУБД, такой проблемы наверное не было, потому что метод кладущий данные в бд как бы ждёт когда данные полностью загрузятся, но вот с эластиком это что-то особое

Sergey Revenko
Можно сделать refresh или flush на индексе, после ...

Так-с, спасибо за вариант, щас почитаю что это и как это

Sergey Revenko
Можно сделать refresh или flush на индексе, после ...

Flsuh не помог, Refresh агонь помог! Спасибо большое добрый человек

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта