elasticsearch文档索引及管理

1、建立索引

curl -XPUT 'http://localhost:9200/mytest' -d '{
"settings":{
  "index":{
 "number_of_shards":5,
 "number_of_replicas":1
}  
}
}'

使用_settings修改索引文件

curl -XPUT 'http://localhost:9200/mytest/_settings' -d '{
  "index":{
 "number_of_replicas":7
}
}'

number_of_shards:设置分片数量
number_of_replicas:设置当前索引副本数量
block.read_only:若设置为true,当前索引只允许读,不允许写或者更新
block.read:若设置为true,禁止读取
block.write:若设置为true,禁止写
block.metadata:若设置为true,禁止对metadata进行操作

获取索引较为详细的配置信息

curl -XGET 'http://localhost:9200/mytest/_settings' 

获得多个索引的配置信息

curl -XGET 'http://localhost:9200/mytest,dept/_settings'

获得全部索引的配置信息

 curl -XGET 'http://localhost:9200/_all/_settings'

获取指定索引文件的状态信息

curl -XGET 'http://localhost:9200/mytest/_status'

doc:被索引文档的信息,count描述索引中文档的数量
stores:索引的大小
indexing:索引操作信息
get:实时获取操作信息
search:搜索操作信息

2、通过mapping映像配置索引

elasticsearch在使用时,不指定映像,会自动根据数据格式定义类型,但是如果需要对某些字段添加特殊属性(分词,存储等)就必须指定映像。

新建索引

curl -XPUT 'http://localhost:9200/mytest1' -d '{
"settings":{
 "number_of_shards":5,
 "number_of_replicas":1  
},
"mapping":{
    "wb":{}
}
}'

管理配置映像

 curl -XPUT 'http://localhost:9200/mytest1/wb/_mapping' -d '{
"wb":{
    "properties":{
         "mymessage":{
                       "type":"string",
                       "store":true
                }
     }
}
}'

获取映像信息

curl -XGET 'http://localhost:9200/mytest1/_mapping/wb'
curl -XGET 'http://localhost:9200/_all/_mapping/'
curl -XGET 'http://localhost:9200/_mapping/'
curl -XGET 'http://localhost:9200/mytest1/_mapping/wb,pages'
curl -XGET 'http://localhost:9200/mytest1/_mapping/wb/field/mymessage'  //查看指定field的mapping

删除映像

curl -XDELETE 'http://localhost:9200/mytest1/_mapping/wb'
curl -XDELETE 'http://localhost:9200/mytest1/wb'
curl -XDELETE 'http://localhost:9200/mytest1/wb/_mapping'

管理索引文件
一个关闭的索引将禁止写入或者读取对其中数据的操作,而打来索引可以允许用户对其中的数据文件进行操作

curl -XPOST 'http://localhost:9200/mytest1/_open'
curl -XPOST 'http://localhost:9200/mytest1/_close'

检测文件状态,返回200为存在,404为不存在

curl -XHEAD 'http://localhost:9200/mytest1/' -v

删除索引

curl -XDELETE 'http://localhost:9200/mytest1/'

清空索引缓存

curl -XPOST 'http://localhost:9200/mytest1/_cache/clear'
curl -XPOST 'http://localhost:9200/mytest1,mytest/_cache/clear'

刷新索引数据

curl -XPOST 'http://localhost:9200/mytest1,mytest/_refresh'
curl -XPOST 'http://localhost:9200/mytest1/_refresh'
curl -XPOST 'http://localhost:9200/_refresh'

优化索引数据

curl -XPOST 'http://localhost:9200/mytest1/_optimize'

将暂存于内存中的临时数据发送至索引文件,并清空内部操作日志

curl -XPOST 'http://localhost:9200/mytest1/_flush'

3、中文分词器

设置分词器需要先关闭当前索引,更改分词器之后再打开。

curl -XPOST 'http://localhost:9200/mytest1/_close'
 curl -XPUT 'http://localhost:9200/mytest1/_settings' -d '{
  "analysis":{
 "analyzer":{
        "type":"custom",
        "tokenizer":"standard"
  }
}
}'
curl -XPOST 'http://localhost:9200/mytest1/_open'

对指定的文件进行分词

curl -XGET 'http://localhost:9200/_analyze?analyzer=standard&pretty' -d 'this is a test'

4、对文档的其他操作

获取指定文档的信息

curl -XGET 'http://localhost:9200/myfirstindex/share/1'
curl -XGET 'http://localhost:9200/myfirstindex/share/1?pretty&_source=false'
curl -XGET 'http://localhost:9200/myfirstindex/share/1?pretty&fields=location'

pretty表示返回的结果中显示缩进,以方便阅读
_source=false表示不显示source的内容
fields=location只显示location的内容

删除文档中的信息

curl -XDELETE 'http://localhost:9200/myfirstindex/share/1'

数据更新

处理过程:先取出文档,运行指定脚本,然后再更新文档

curl -XPUT 'http://localhost:9200/myfirstindex/share/2'  -d '{
   "url":"xtwang.github.io",
   "date":"2015-12-3",
   "location":"beijing"
 }'

curl -XPOST 'http://localhost:9200/myfirstindex/share/2/_update' -d '{
      "script":"ctx._source.location += text",
       "params":{
                "text":"test"
        }
}'

创建文档并且加入新的字段

 curl -XPOST 'http://localhost:9200/myfirstindex/share/3/_update' -d '{
      "script":"ctx._source.location += text",
       "params":{
                "text":"test"
        },
       "upsert":{
               "counter":1
       }
 }'

当存在文档3时,使用script增加location字段的值,如果不存在,使用upsert增加文档,并且添加字段counter。

批量获取文档

curl -XPOST 'http://localhost:9200/myfirstindex/share/_mget?' -d '{
     "docs":[
        {
               "_location":"myfirstindex",
               "_type":"share",
               "_id":"1"
          },
         {
               "_location":"myfirstindex",
               "_type":"share",
               "_id":"2"
          }
      ]
}'

可以在?后面添加preety参数,获取其中一个文档的信息

删除部分文档

curl -XDELETE 'http://localhost:9200/myfirstindex/share/_query?q=location:beijing'
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,189评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,577评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,857评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,703评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,705评论 5 366
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,620评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,995评论 3 396
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,656评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,898评论 1 298
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,639评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,720评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,395评论 4 319
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,982评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,953评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,195评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,907评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,472评论 2 342

推荐阅读更多精彩内容