ES使用(Kibana、shell)

目录

1、在java中创建ES表的字段,在项目中启动同时,如果ES中不存在这个ES表,就会在ES库中自动创建这个表

2、通过EShead删除数据

3、分词测试

4、#设置ES最大返回结果(最大返回:10,000,000条数据)

5、为指定字段(introduction等字段)添加使用分词器(ik_smart)

6、删除ES索引中某个字段(参考)

7、复制索引Ia中的数据到Ib中

8、为索引新增字段

9、为索引中的某个字段添加值

10、修改某个字段的值(根据检索结果)

11、通过shell操作ES

12、ES查询返回指定字段的值

13、


1、在java中创建ES表的字段,在项目中启动同时,如果ES中不存在这个ES表,就会在ES库中自动创建这个表

  1. 注意:@Document(indexName = "sts_transformproject"),indexName后面的值中不能有大写字母,否则创建表失败
    1. @Data
      @Document(indexName = "sts_transformproject", type = "transformproject")
      public class TransformProject {
          @Id
          private String id;
          /**项目名称*/
          private String name;
      }

2、通过EShead删除数据

  1. 删除ES中index=data的索引中,code字段值为131的数据(ES版本5.6.3)
    1. //删除ES中index=data的索引中,code字段值为131的数据(ES版本5.6.3)
      Post    data/_delete_by_query
      {
        "query": {
          "bool": {
            "filter": {
              "term": {
                "code.keyword": "131"
              }
            }
          }
        }
      }

3、分词测试

  1. #ik_max_word分词
    POST _analyze
    {
      "tokenizer": "ik_max_word",
      "text": ["青海湖流域遥感影像on的数据集"]
    }
    #ik_smart分词
    POST _analyze
    {
      "tokenizer": "ik_smart",
      "text": ["青海湖流域遥感影像on的数据集"]
    }
    #standard分词
    POST _analyze
    {
      "tokenizer": "standard",
      "text": ["青海湖流域遥感影像on的数据集"]
    }

4、#设置ES最大返回结果(最大返回:10,000,000条数据)

PUT index/_settings
{
  "index":{
    "max_result_window":10000000
  }
}

5、为指定字段(introduction等字段)添加使用分词器(ik_smart)

PUT indexName
{
  "mappings": {
    "dataset":{
      "properties": {
        "introduction":{
          "type": "text",
          "analyzer": "ik_smart",
          "fields": {
              "ik": {
                "type": "text"
              },
              "keyword": {
                "type": "keyword",
                "ignore_above": 256
              }
            }
        },
        "title":{
          "type": "text",
          "analyzer": "ik_smart",
          "fields": {
              "ik": {
                "type": "text"
              },
              "keyword": {
                "type": "keyword",
                "ignore_above": 256
              }
            }
        },
        "keyword":{
          "type": "text",
          "analyzer": "ik_smart",
          "fields": {
              "ik": {
                "type": "text"
              },
              "keyword": {
                "type": "keyword",
                "ignore_above": 256
              }
            }
        },
        "author":{
          "type": "text",
          "analyzer": "ik_smart",
          "fields": {
              "ik": {
                "type": "text"
              },
              "keyword": {
                "type": "keyword",
                "ignore_above": 256
              }
            }
        }
      }
    }
  }
}

6、删除ES索引中某个字段(参考

#删除索引中的scoreDiy字段
POST {index}/{type}/_update_by_query
{
  "script": {
        "lang": "painless",
        "inline": "ctx._source.remove(\"scoreDiy\")"
    },
    "query": {
        "match_all": {}
    }
}

7、复制索引Ia中的数据到Ib中

#复制索引数据到新的索引中(并且指定将“scoreDiy”的类型由long转换为"string/text",但是不能从“string/text”转为long类型)
POST /_reindex
{
  "source": {
    "index": "Ia"
  },
  "dest": {
    "index": "Ib"
  },
  "script": {
    "source": "ctx._source.scoreDiy = String.valueOf(ctx._source.scoreDiy)"
  }
  
}

#复制索引data_v2中type=data的数据到索引data_v2_test中
POST /_reindex
{
  "source": {
    "index": "data_v2",
    "type": "data"
  },
  "dest": {
    "index": "data_v2_test"
  }
}

8、为索引新增字段

#为索引新增字段:long类型的scoreDiy字段
PUT {indexName}/_mapping/{doc/type}
{
  "properties": {
    "scoreDiy": {
      "type": "long"
    }
  }
}

9、为索引中的某个字段添加值

#为索引中某个字段(scoreDiy)添加指定值:数字5
POST {indexName}/{type}/_update_by_query
{
  "script":{
    "source": "ctx._source['scoreDiy']=5;"
  }
}

10、修改某个字段的值(根据检索结果)

#修改某个字段的值(根据检索结果) 修改code=Cors中hasMetadata=0
POST {indexName}/{type}/_update_by_query
{
    "query": {
        "match": {
            "code": "Cors"
        }
    },
    "script": {
        "source": "ctx._source['hasMetadata'] = 0"
    }
}

11、通过shell操作ES

#通过账号+查看,查看索引data_v4的设置
curl -u elastic:密码  -XGET 'http://27.0.0.1:9200/data_v4/_settings'

12、ES查询返回指定字段的值

ES 返回指定字段(name)的值(条件:查询sex=1)
GET {index}/{doc}/_search
{
  "_source": "name", 
  "query": {
    "term": {
      "sex": {
        "value": "1"
      }
    }
  }
}

13、

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

墨咖

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值