2020.03.19基于ES6.8.5,IK6.8.5,Kibana6.8.5的测试命令
#全部查询
GET _search
{
"query": {
"match_all": {}
}
}
#在index1索引下使用ik_smart进行分词测试
POST index1/_analyze
{
"analyzer":"ik_smart",
"text":"中华人民共和国万岁"
}
#查询index1下所有数据
GET index1/_search
#删除schools索引
DELETE /schools
#查看ES中所有索引及状态信息
GET /_cat/indices
#增加city索引
PUT /city
#在索引city中增加_doc对象内容为:"name": "xiaobu"(不定义id时ES会自动生成对象id)
POST /city/_doc?pretty
{ "name": "xiaobu"}
#在索引city中增加_doc对象ID为定义为1,内容为:"name": "中华人民共和国"
POST /city/_doc/1
{ "name": "中华人民共和国"}
#在索引city中修改_doc对象ID为1的内容为:"name": "中华人民共和国","year":75,"person":"汉族"
POST /city/_doc/1
{ "name": "中华人民共和国","year":75,"person":"汉族"}
#在索引city中增加_doc对象ID为定义为2,内容为:"name": "92年的繁华岁月","year":18,"person":"回族"
POST /city/_doc/2
{ "name": "92年的繁华岁月","year":18,"person":"回族"}
#修改索引city中_doc对象ID为JR5r8HABuMp2rvXNCWBk(未定义ID,ES自动生成的ID)的值为:"name":"小宝"
POST /city/_doc/JR5r8HABuMp2rvXNCWBk
{"name":"小宝"}
#查询city索引下所有数据
GET /city/_search
#1.创建索引iktest
PUT /iktest?pretty(pretty使返回的参数美化)
{
#2.设置ik分词,并定义使用ik_max_word分词
"settings" : {
"analysis" : {
"analyzer" : {
"ik" : {
"tokenizer" : "ik_max_word"
}
}
}
},
#3.设置字段集合
"mappings" : {
#4.定义article对象
"article" : {
#dynamic配置解释: 1.Mapping中的字段类型一旦设定后,禁止直接修改,原因是:Lucene实现的倒排索引生成后不允许修改
2.只能新建一个索引,然后reindex数据
3.默认允许新增字段
4.通过dynamic参数来控制字段的新增:
4.1.true(默认)允许自动新增字段
4.2.false 不允许自动新增字段,但是文档可以正常写入,但无法对新增字段进行查询等操作
4.3.strict 文档不能写入,报错
"dynamic" : true,(注:定义后iktest这个索引可以自动新增子字段)
#5.配置对象中的字段
"properties" : {
#6.定义subject字段
"subject" : {
#7.定义subject字段类型为text
"type":"text",
#8.定义subject字段采用上面设置的ik_max_word分词进行分词
"analyzer" : "ik_max_word"
}
}
}
}
}
#批量给iktest索引的article对象中手动定义id并给subject字段加入数据
POST /iktest/article/_bulk?pretty(pretty使返回的参数美化)
{ "index" : { "_id" : "1" } }
{"subject" : ""闺蜜"崔顺实被韩检方传唤 韩总统府促彻查真相" }
{ "index" : { "_id" : "2" } }
{"subject" : "韩举行"护国训练" 青瓦台:决不许国家安全出问题" }
{ "index" : { "_id" : "3" } }
{"subject" : "媒体称FBI已经取得搜查令 检视希拉里电邮" }
{ "index" : { "_id" : "4" } }
{"subject" : "村上春树获安徒生奖 演讲中谈及欧洲排外问题" }
{ "index" : { "_id" : "5" } }
{"subject" : "希拉里团队炮轰FBI 参院民主党领袖批其“违法”"}
#检索输入“希拉里和韩国”,查询iktest索引下article对象
POST /iktest/article/_search?pretty
{
"query" : { "match" : { "subject" : "希拉里和韩国" }},
#定义检索出的内容高亮
"highlight" : {
#定义高亮前缀(这里定义字段高亮为红色)
"pre_tags" : ["<font color='red'>"],
#定义高亮后缀
"post_tags" : ["</font>"],
#定义返回字段
"fields" : {
"subject" : {}
}
}
}