Эластичный поиск введите документ в то же время, когда вход в MySQL Db - PullRequest
0 голосов
/ 05 февраля 2019

Я собираюсь испачкать руки упругим поиском.

У нас есть проект RESTapi express.js.Там у меня 3 таблицы.

  1. Категория
  2. Элемент
  3. Провинция

У нас есть мобильное приложение.Там у нас есть панель поиска.Пользователи могут искать категорию, пункт и провинцию.

Так что в бэк-энде мне нужно использовать этот метод

client.create([params, [callback]])

в 3 контроллерах, и пока я вводю свои данные в базу данных MySQL.

Пример.

async function create(req, res, next) {
    try {

        await db[model_name].create(req.body, {});
        await client.create({
            index: 'live_search_index',
            type: 'default',
            body: {
                title: `${req.body.name}`,
                tags: ['y', 'z'],
                published: true,
                published_at: '2013-01-01',
                counter: 1
            }
        });

        res.sendStatus(200);

    } catch (error) {
        console.log("ERR", error);
        res.sendStatus(500);

    }
}

Если я так поступлю, это будет больно и также может привести к различным проблемам.(Как противоречивые проблемы с данными)

Так что, вместо этого, есть ли другой способ добиться этого?Я имею в виду, что при входе в таблицу с помощью sequlize ORM автоматически вводить в упругий поиск, как это?

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