Elasticsearch не индексирует вовремя в тестах Жасмин - PullRequest
0 голосов
/ 07 ноября 2018

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

  const index = `test-${Math.floor(Math.random())}`;
  const client = new elasticsearch.Client({
    host: "localhost:9200",
    log: "trace",
  });
  const body = {...}
  beforeAll(async () => {
    await client.bulk({ body });
  });

  afterAll(async () => {
    await client.indices.delete({
      index,
    });
  });

Я использовал асинхронность и ожидание в прошлом, но сейчас они, похоже, не работают. Как я могу убедиться, что команда bulk выполняется перед тестами?

1 Ответ

0 голосов
/ 07 ноября 2018

Вам необходимо обновить индекс после вставки документа (ов). Задержка в 1 с, прежде чем вставленный документ станет доступным для поиска. Прочтите о настройке refresh_interval в документации Elasticsearch и /_refresh endooint.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...