【elasticsearch】elasticsearch常见操作

1. 新增索引

PUT /megacorp/employee/1
{
  "first_name":"qb",
  "last_name":"evan",
  "age":23,
  "above":"我喜欢爬山",
  "interests": ["运动","听音乐","编程"]
}

PUT /megacorp/employee/2
{
  "first_name":"qb2",
  "last_name":"evan",
  "age":23,
  "above":"我喜欢游泳",
  "interests": ["跑步","听音乐","打游戏"]
}

PUT /megacorp/employee/3
{
  "first_name":"qb3",
  "last_name":"evan",
  "age":24,
  "above":"真正的大师,永远怀着一颗谦卑的心",
  "interests": ["LOL","听音乐","吃鸡"]
}

PUT /megacorp/employee/4
{
  "first_name":"qb4",
  "last_name":"evan",
  "age":24,
  "above":"I love play game",
  "interests": ["LOL","roll climbing","wzry"]
}

注意,路径 /megacorp/employee/1 包含了三部分的信息:
megacorp[索引名称],
employee[类型名称]
1[特定雇员的ID]

2.检索文档

GET /megacorp/employee/1

返回:

{
  "_index" : "megacorp",
  "_type" : "employee",
  "_id" : "1",
  "_version" : 1,
  "_seq_no" : 0,
  "_primary_term" : 1,
  "found" : true,
  "_source" : {
    "first_name" : "qb",
    "last_name" : "evan",
    "age" : 23,
    "above" : "我喜欢爬山",
    "interests" : [
      "运动",
      "听音乐",
      "编程"
    ]
  }
}

3.轻量搜索

GET /megacorp/employee/_search
GET /megacorp/employee/_search?q=first_name:qb

4. 使用查询表达式搜索

GET /megacorp/employee/_search
{
  "query": {
    "match":{
      "first_name": "qb3"
    }
  }
}

5. 更复杂的搜索

GET /megacorp/employee/_search?pretty
{
  "query": {
    "bool":{
    	//should: 包含qb
    	//must: 只能有qb
      "must":{
        "match":{
          "last_name":"qb"
        }
      },
      "filter":{
        "range":{
          "age": {"gt" : 22}
        }
      }
  }
  }
}

6. 全文搜索

GET /megacorp/employee/_search
{
  "query": {
    "match":{
      "above":"我的"
    }
  }
}

7.短语搜索

GET /megacorp/employee/_search
{
    "query" : {
        "match_phrase" : {
            "interests": "roll climbing"
        }
    }
}

8. 高亮搜索

GET /megacorp/employee/_search
{
    "query" : {
        "match_phrase" : {
            "above" : "真"
        }
    },
    "highlight": {
        "fields" : {
            "above" : {}
        }
    }
}

8.分析

GET /megacorp/employee/_search
{
  "aggs": {
    "all_interests": {
      "terms": { "field": "interests" }
    }
  }
}
GET /megacorp/employee/_search
{
  "query": {
    "match": {
      "last_name": "evan"
    }
  },
  "aggs": {
    "all_interests": {
      "terms": {
        "field": "interests"
      }
    }
  }
}

你可能感兴趣的:(①java学习,------,elasticsearch)