ElasticSearch - 文档的基本操作

注意: 以下demo皆是基于es7.x,代码的语言基于node,用的是@elastic/elasticsearch三方包。首先是引入三方包

const { Client } = require('@elastic/elasticsearch')
const client = new Client({ node: 'http://localhost:9200' })

新增

  • kibana操作


    image.png
  • node
async function run() {
    // 创建文档
    await client.create({
        id: '4',
        index: 'test',
        body: {
            firstName: 'x',
            lastName: 'c',
            tags: ['码农', '愤青']
        }
    })
}
run().catch(console.log)

当然也可以不传id,这时候es会自动给这个document生成id。

查看

  • kibana
    image.png
  • node
  // 查看文档文档
    let result = await client.get({
        id: '4',
        index: 'test'
    })
    console.log(result)

修改

修改有点复杂,分为两种:

  • Index(注意这里的Index是动词,是指修改document的)
    它会将原来的文档删除,重新建
  • update
    它会在原来的字段上面增加新的字段
    image.png
  • node:
await client.index({
        id: '1',
        index: 'test',
        type: '_update',
        body: {
            doc: {
                cc: 123     // update操作
            }
        }
    })

 await client.index({
        id: '1',
        index: 'test',
        body: {
            firstName:'x'   // index操作
        }
    })

批量读取

  • kibana
    可以从不同的索引中读取数据


    image.png
  • node
 // 批量读取
    let result = await client.mget({
        body: {
            docs: [
                {
                    "_index": "kibana_sample_data_logs",
                    "_id": "Lhryp2wBSmjcLNNkGPRq"
                },
                {
                    "_index": "test",
                    "_id": "1"
                }
            ]
        }
    })
    console.log(result.body.docs)

批量操作查询

  • kibana


    image.png

    这里面的body体是成对出现的,格式为

header\n
body\n
header\n
body\n
  • node
 // msearch 
    let result = await client.msearch({
        index: 'kibana_sample_data_logs',
        body: [
            {},
            { "query": { "match_all": {} }, "from": 0, "size": 10 },
            { "index": "test" },
            { "query": { "match_all": {} } }
        ]
    })
    console.log(result)

你可能感兴趣的:(ElasticSearch - 文档的基本操作)