es 操作
1.向索引中添加数据
PUT /megacorp/_doc/5
{
"first_name" : "jack",
"last_name" : "Tom",
"age" : 28,
"about" : "I love to go rock rock",
"interests": [ "sports", "music" ]
}
2.获取id为1的数据
GET /megacorp/_doc/1
3.查询last_name为Smith的数据
GET /megacorp/_search?q=last_name:Smith
4.查询age为28的数据
GET /megacorp/_search?q=age:28
5.获取last_name为Tom,且age大于25的数据,"size":0表示查询的结果条数设置为0
GET /megacorp/_search
{
"size":0,
"query" : {
"bool": {
"must": {
"match" : {
"last_name" : "Tom"
}
},
"filter": {
"range" : {
"age" : { "gt" : 25 }
}
}
}
}
}
6.match模糊查询rock climbing,返回的查询结果包含rock climbing,rock rock,按照相关度进行匹配。
GET /megacorp/_search
{
"query" : {
"match": {
"about" : "rock climbing"
}
}
}
7.rock climbing语句精准匹配,只返回rock climbing相关的语句。
GET /megacorp/_search
{
"query" : {
"match_phrase" : {
"about" : "rock climbing"
}
}
}
8.高亮查询rock climbing
GET /megacorp/_search
{
"query" : {
"match_phrase" : {
"about" : "rock climbing"
}
},
"highlight": {
"fields" : {
"about" : {}
}
}
}
9.新建一个索引,并且指定mapping
PUT localhost:9200/nba
{
"mappings": {
"properties": {
"name": {
"type": "text"
},
"team_name": {
"type": "text"
},
"position": {
"type": "text"
},
"play_year": {
"type": "long"
},
"jerse_no": {
"type": "keyword"
}
}
}
}
10.term(词条)查询和full text(全文)查询
- 词条查询:词条查询不会分析查询条件,只有当词条和查询字符串完全匹配时,才匹配搜索。
- 全文查询:es引擎会先分析查询字符串,将其拆分成多个分词,只要已分析的字段中包含词条的任意一个,或全部包含,就匹配查询条件,返回该文档;如果不包含任意一个分词,表示没有任何文档匹配查询条件。