elasticsearch 添加字段

Elasticsearch中的mapping一旦创建,就不能再修改。但是添加字段是可以的。其实很简单,只需在原来的mapping上面直接新增加一个field,然后重新创建一下mapping就可以了。

 

原mapping的定义如下:

Java代码   收藏代码
  1. private static XContentBuilder getMapping() throws Exception{  
  2.         XContentBuilder mapping = jsonBuilder()    
  3.                    .startObject()    
  4.                      .startObject("test")    
  5.                      .startObject("properties")           
  6.                        .startObject("id")  
  7.                             .field("type""long")  
  8.                             .field("store""yes")  
  9.                         .endObject()      
  10.                           
  11.                        .startObject("type")  
  12.                             .field("type""string")  
  13.                             .field("index""not_analyzed")  
  14.                         .endObject()    
  15.                           
  16.                        .startObject("catIds")  
  17.                             .field("type""integer")  
  18.                        .endObject()    
  19.                      .endObject()    
  20.                     .endObject()    
  21.                   .endObject();    
  22.         return mapping;  
  23.     }  

 

现在加入要增加一个field,名称叫title。新增后的代码如下:

Java代码   收藏代码
  1. private static XContentBuilder getMapping() throws Exception{  
  2.         XContentBuilder mapping = jsonBuilder()    
  3.                    .startObject()    
  4.                      .startObject("test")    
  5.                      .startObject("properties")           
  6.                        .startObject("id")  
  7.                             .field("type""long")  
  8.                             .field("store""yes")  
  9.                         .endObject()      
  10.                           
  11.                        .startObject("type")  
  12.                             .field("type""string")  
  13.                             .field("index""not_analyzed")  
  14.                         .endObject()    
  15.                         //新增字段  
  16.                          .startObject("title")  
  17.                             .field("type""string")  
  18.                             .field("index""analyzed")  
  19.                         .endObject()    
  20.                           
  21.                        .startObject("catIds")  
  22.                             .field("type""integer")  
  23.                        .endObject()    
  24.                      .endObject()    
  25.                     .endObject()    
  26.                   .endObject();    
  27.         return mapping;  
  28.     }  

 

然后重新putMapping即可。

还不知道如何创建mapping?请看这里

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值