Update By Query & Reindex API

DELETE blogs
PUT blogs/_doc/1
{
  "content":"Hadoop is cool",
  "keyword":"hadoop"
}

#查看Mapping
GET blogs/_mapping

#修改Mapping,增加子字段,使用英文分词器
PUT blogs/_mapping
{
  "properties":{
    "content":{
      "type":"text",
      "fields":{
        "english":{
          "type":"text",
          "analyzer":"english"
        }
      }
    }
  }
}

#写入文档
PUT blogs/_doc/2  
{
  "content":"Elasticsearch rocks",
  "keyword":"elasticsearch"
}

#查询新写入文档
POST blogs/_search
{
  "query": {
    "match": {
      "content.english": "Elasticsearch"
    }
  }
}

#查询Mapping 变更前写入的文档
POST blogs/_search
{
  "query": {
    "match": {
      "content.english": "Hadoop"
    }
  }
}

#Update所有文档
POST blogs/_update_by_query
{}

#再次查询Mapping 变更前写入的文档
POST blogs/_search
{
  "query": {
    "match": {
      "content.english": "Hadoop"
    }
  }
}

#查询
GET blogs/_mapping
PUT blogs/_mapping
{
      "properties" : {
        "content" : {
          "type" : "text",
          "fields" : {
            "english" : {
              "type" : "text",
              "analyzer" : "english"
            }
          }
        },
        "keyword" : {
          "type" : "keyword"
        }
      }
}

#创建新的索引并且设定新的Mapping 
PUT blogs_fix/
{
  "mappings": { 
      "properties" : {
        "content" : {
          "type" : "text",
          "fields" : {
            "english" : {
              "type" : "text",
              "analyzer" : "english"
            }
          }
        },
        "keyword" : {
          "type" : "keyword"
        }
      }
  }
}

#Reindex API
POST _reindex
{
  "source": {
    "index": "blogs"
  },
  "dest": {
    "index": "blogs_fix"
  }
}

GET blogs_fix/_doc/1

#测试 Term Aggregation
POST blogs_fix/_search
{
  "size": 0,
  "aggs": {
    "blog_keyword": {
      "terms": {
        "field": "keyword",
        "size": 10
      }
    }
  }
}


版权声明:本文为weixin_40809179原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。