0

我正在尝试为每个索引创建 2000 个文档的 365 个索引。而且我会很高兴设置为index => "test-%{+YYYY.MM.dd}"- 每天都有新数据。实际上,我需要模拟每天创建索引,每个索引大约有 2000 条记录。我正在使用弹性搜索 6.2。

export const initTest = async types => {
    try {
        let client = createClient()

        const templateSettings = {
            index_patterns : ['*'],
            settings: indexTemplateSettings,
            mappings : types.reduce((p, type) => ({
                ...p,
                [type] : {
                    'numeric_detection': true,
                    _source : {enabled : true},
                },
            }), {}),
        }

        await client.indices.putTemplate({
            name: 'default',
            body: templateSettings,
        },(error, response) => {
            logger.silly('Pushing of index template completed', response)
        })
    } catch (e) {
        logger.error(e)
    }
}

export const pushTest = (message, type, index) => new Promise(async resolve => {
    try {
        let client = createClient()

        await initTest(['Call'])

        await client.index({
            index: `${YYYY.MM.dd}`, //per day new data
            type,
            body: message,
        },
        (error, response) => {
            logger.silly('Pushing of data completed', response)

            resolve(response)
        })
    } catch (e) {
        logger.error(e)
    }
})


for (let index = 0; index < 365; index++) {

    let messageTest

    for (let documents = 0; documents < 2000; documents++) {

        messageTest = {

            location: `Room_${Math.floor(Math.random() * 100)}`,
            zone: `Zone_${Math.floor(Math.random() * 100)}`,
            personName: 'person name',
            personRoom: `Room_${Math.floor(Math.random() * 100)}`,
            pageSize: 10,
            cancelPerson: 'person name',
        }
    }

    pushTest(messageTest, 'Call', index)
}
4

0 回答 0