ES常用命令

KI分词器

下载:
https://github.com/medcl/elasticsearch-analysis-ik/releases/tag/v7.6.1

在Kibana里测试分词器

GET _analyze
{
  "analyzer": "ik_max_word",
  "text": "我爱我的祖国"
}

配置IK分词器词典

要复制路径下原有的dic去改名,因为有编码与BOM头问题

配置文件路径:
elasticsearch/plugins/ik/config/IKAnalyzer.cfg.xml
在ext_dict节点中配置my.dic为自己新创建的配置字典
IK分词器配置

增删改查数据

  • 新增:动作/库名/类型/索引

wj是不会拆分的,所以w模糊查询不会被查到,有标点或者中文才会被拆分

PUT /test1/type1/1
{
  "name": "wj",
  "age": 36
}
  • 查询数据:
GET test1
  • 查看数据量:
GET _cat/indices?v
  • 更新可以用PUT或者POST,以及删除等操作网上自行搜索
POST test1/type1/1/_update
{
 "doc": {
	"name": "只更新name,PUT会覆盖没赋值的字段"
	}
}
  • 搜索:
    确定name字段有wj完全匹配的值

这里是模糊查询,但是只有标点分隔或者中文才能模糊

GET test1/type1/_search?q=name:wj
  • 多条件搜索:
    懒得敲代码了
    查询多个值
  1. must = 逻辑与and
  2. must_not = 不等于
  3. should = 逻辑或or
  4. range = 范围 gt、gte大于 lt小于 lte
  5. term = 精确查询

查询数据完整例子

只创建表与列类型
keyword是结果是否分词(完全匹配查询)

PUT testdb
{
	"mappings": {
	"properties": {
		"name": {
			"type": "text"
		},
		"desc": {
			"type": "keyword"
	  	}
	  }
  }
}
  • 写入数据
PUT testdb/_doc/2
{
  "name":"张三",
  "desc":"没吃呢吗"
}
  • 查询数据
GET testdb/_doc/_search
{
  "query": {
    "match": {
      "name": "张"
    }
  }
}

批量导入json数据

注意事项:

  1. index后面的默认索引表名称可以去掉,换句话说一次可以给多个索引表添加数据

  2. index与数据必须换行否则报错,见图

  3. json最后一行必须是空行

  4. 查找替换进行换行,在excel里制作后使用notepad++查出替换的话需要使用

{“sys_name”:
换成
\r\n{“sys_name”:

在这里插入图片描述

{"index":{"_id":6}}
{"sys_name":"辽宁省ODS备案信息管理系统","department":"海城市远阔贸易有限公司","username":"海城市远阔贸易有限公司","logtime":"2020-11-16T15:41:20"}
{"index":{"_id":9}}
{"sys_name":"辽宁省ODS备案信息管理系统","department":"辽宁派博聚氨酯销售有限公司","username":"辽宁派博聚氨酯销售有限公司","logtime":"2020-11-04T16:39:27"}
curl -H 'Content-Type: application/x-ndjson' -XPOST 'localhost:9200/shakespeare/_bulk?pretty' --data-binary @shakespeare_6.0.json

curl -H 'Content-Type: application/x-ndjson' -XPOST 'localhost:9200/bank/account/_bulk?pretty' --data-binary @accounts.json

curl -H 'Content-Type: application/x-ndjson' -XPOST 'localhost:9200/lnlog/_bulk?pretty' --data-binary @lnlog.json

拼接excel为json参考

="{""index"":{""_id"":"""&A2&"""}}{""sys_name"":"""&B2&""",""department"":"""&D2&""",""username"":"""&E2&""",""logtime"":"""&TEXT(G2,"yyyy-mm-ddThh:mm:ss")&"""}"

查看每个索引(表)数据量

GET _cat/indices?v

查看表结构

GET 表名 _mapping

GET /lnlog/_mapping
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值