Elasticsearch-索引新数据(创建索引、添加数据)

ES-索引新数据

0.通过mapping映射新建索引

CURL -XPOST 'localhost:9200/test/index?pretty' -d '{
  "mappings": {
    "docs": {
      "_source": {
        "excludes": [
          "query_content"
        ]
      },
      "properties": {
        "legalbasis": {
          "enabled": false
        },
        "query_content": {
          "doc_values": false,
          "search_analyzer": "ik_smart",
          "type": "text",
          "analyzer": "ik_smart"
        },
        "updatetime": {
          "enabled": false
        },
        "openlaw_seq": {
          "enabled": false
        },
        "url": {
          "enabled": false
        },
        "doctype": {
          "enabled": false
        },
        "modify_time": {
          "type": "date",
          "format": "yyyy-MM-dd HH:mm:ss||yyyy-MM-dd||epoch_millis"
        },
        "fact": {
          "enabled": false
        }
      }
    }
  },
  "settings": {
    "index": {
      "number_of_replicas": "0",
      "number_of_shards": "6",
      "refresh_interval": "10s",
      "translog": {
        "durability": "async",
        "flush_threshold_size": "1g"
      }
    }
  }
}'

 

1.通过curl索引一篇文档

curl是一个命令行工具,通过HTTP协议传送数据。使用curl命令发送HTTP请求。

索引一篇文档

FengZhendeMacBook-Pro:bin FengZhen$ curl -XPOST -H "Content-Type: application/json 'http://localhost:9200/get-together/group/1?pretty' -d '{
> "name":"ES Test",
> "organizer":"Feng"
> }'
{
"_index" : "get-together",
"_type" : "group",
"_id" : "1",
"_version" : 1,
"_shards" : {
"total" : 2,
"successful" : 1,
"failed" : 0
},
"created" : true
}


ES自动添加了get-together索引,并且为group类型创建了一个新的映射。映射包含字符串字段的定义。默认情况下,ES处理所有这些,无需任何事先的配置,就可以开始索引。若有需要,可改变这一配置

2.创建索引和映射类型

(1). 手动创建索引

FengZhendeMacBook-Pro:bin FengZhen$ curl -XPUT ‘http://localhost:9200/music’
{“acknowledged”:true}

创建索引本身比创建一篇文档要花费更多时间,提前创建索引的另一个理由是想指定和ES默认不同的配置,例如:确定分片的数量。

(2). 获取映射

映射是随着新文档而自动创建的,而且ES自动的将name和organizers字段识别为字符串。如果添加新文档的同事添加另一个新的字段,ES也会猜测它的类型,并将其附加到映射。
为了查看当前的映射,发送一个HTTP GET请求到该索引的_mapping端点。这将展示所有类型的映射,但是可以通过在_mapping端点后指定类型的名字来获得某个具体的映射。

FengZhendeMacBook-Pro:bin FengZhen$ curl 'localhost:9200/get-together/_mapping/group?pretty'
{
"get-together" : {
"mappings" : {
"group" : {
"properties" : {
"name" : {
"type" : "string"
},
"organizer" : {
"type" : "string"
}
}
}
}
}
}

返回的结果包括如下相关数据
索引名称:get-together
类型名称:group
属性列表:name和organizer
属性选项:两个属性的type都是string

 

posted on 2019-06-03 22:19  嘣嘣嚓  阅读(16853)  评论(0编辑  收藏  举报

导航