技术标签: java elasticsearch
在知道ES的存储之后,我们需要了解如何对ES中的数据进行操作
Elastic 需要 Java 8 环境。如果你的机器还没安装 Java,可以参考这篇文章,注意要保证环境变量JAVA_HOME
正确设置。
安装完 Java,就可以跟着官方文档安装 Elastic。直接下载压缩包比较简单。
Elastic 需要 Java 8 环境。如果你的机器还没安装 Java,可以参考这篇文章,注意要保证环境变量JAVA_HOME
正确设置。
安装完 Java,就可以跟着官方文档安装 Elastic。直接下载压缩包比较简单。
% wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.5.1.zip
% unzip elasticsearch-5.5.1.zip
% cd elasticsearch-5.5.1/
接着,进入解压后的目录,运行下面的命令,启动 Elastic。
./bin/elasticsearch
如果一切正常,Elastic 就会在默认的9200端口运行。这时,打开另一个命令行窗口,请求该端口,会得到说明信息。
curl localhost:9200
{
"name" : "j6IWdK8",
"cluster_name" : "elasticsearch",
"cluster_uuid" : "mF75JlD7TU2dO9PJAjL29A",
"version" : {
"number" : "5.5.1",
"build_hash" : "19c13d0",
"build_date" : "2017-07-18T20:44:24.823Z",
"build_snapshot" : false,
"lucene_version" : "6.6.0"
},
"tagline" : "You Know, for Search"
}
可以通过两种方式对数据进行操作
1.curl操作:会比较麻烦,先使用这种方式增删改查
curl是利用URL语法在命令行方式下工作的开源文件传输工具,使用url可以简单实现常见的get/post请求。简单的认为是可以在命令行下面访问url的一个工具。在centos的默认库里面是有curl工具的,如果没有请yum安装即可。
curl
-X 指定http的请求方法有 HEAD GET POST PUT DELETE
-d 指定要传输的数据
-H 指定http请求头信息
创建索引:
% curl -XPUT localhost:9200/bigdata_test
{"acknowledged":true,"shards_acknowledged":true}%
查询索引:
curl -XGET 'http://localhost:9200/_cat/indices?pretty&v'
health status index uuid pri rep docs.count docs.deleted store.size pri.store.size
yellow open bigdata_test fa9YDOWxTdqZWdPSbG89VA 5 1 1 0 4.4kb 4.4kb
#这里在url后面添加了pretty是为了让其在控制台上输出的结果是一个优美的json格式
ES创建索引库和索引时的注意点:
1)索引库名称必须要全部小写,不能以下划线开头,也不能包含逗号
2)如果没有明确指定索引数据ID,那么es会自动生成一个随机的ID,需要使用POST参数
插入数据:
curl -XPOST 'http://localhost:9200/bigdata_test/stu/1?pretty' -H 'Content-Type: application/json' -d '
{
"name":"shaofei",
"age":22,
"sex":1
}'
结果:
{
"_index" : "bigdata_test",
"_type" : "stu",
"_id" : "1",
"_version" : 1,
"result" : "created",
"_shards" : {
"total" : 2,
"successful" : 1,
"failed" : 0
},
"created" : true
}
查看index的mapping
curl -XGET 'http://localhost:9200/bigdata_test/_mapping?pretty'
结果:
{
"bigdata_test" : {
"mappings" : {
"stu" : {
"properties" : {
"age" : {
"type" : "long"
},
"name" : {
"type" : "text",
"fields" : {
"keyword" : {
"type" : "keyword",
"ignore_above" : 256
}
}
},
"sex" : {
"type" : "long"
}
}
}
}
}
}
删除索引
curl -XDELETE 'http://localhost:9200/bigdata_test?pretty'
{
"acknowledged" : true
}
创建别名:
curl -XPOST 'http://localhost:9200/_aliases' -d '{
"actions": [
{
"add": {
"index": "bigdata_test",
"alias": "alias_bigdata_test"
}
}
]
}'
结果:
{"acknowledged":true}%
查看别名:(列出所有索引和别名)
curl -XGET 'http://localhost:9200/_aliases'
结果:
{"bigdata_test":{"aliases":{"alias_bigdata_test":{}}}}%
修改别名:
curl -XPOST 'http://localhost:9200/_aliases' -d '{
"actions": [
{ "add": {
"alias": "alias_bigdata_test_v1",
"index": "bigdata_test"
}}
]
}'
结果:
{"acknowledged":true}%
最终结果:
{"bigdata_test":{"aliases":{"alias_bigdata_test":{},"alias_bigdata_test_v1":{}}}}%
这是增加一个alias
修改数据
POST test1/doc/3/_update
{
"doc":{
"desc":"Beijing is the capital of China"
}
}
2.Kibana操作ES: 提供简化的工具
文章浏览阅读4.5k次,点赞2次,收藏19次。目录一、引言二、DRM框架介绍三、DRM框架的使用四、源码分析一、引言Android4开始,hdmi等视频输出框架开始由framebuffer想DRM迁移,今天我们就来简单分析下DRM框架二、DRM框架介绍DRM是一个内核级的设备驱动,具体的说是显卡驱动的一种架构源码位置因为Linux kernel内部接口和数据结构可能随时发生变化,所以DRI模块要针对特定的内核版本进行编译。kernel 2.6.26之后的版本,DRM(DRI kernel模块)源码存放在kernel/drivers/_嵌入式linux hdmi视频环出功能实现
文章浏览阅读2.8k次。homebrew安装后路径只可用一次的解决办法在上次安装后遇到了找不到路径的问题,虽然通过export解决了问题,但是在重启后,又出现了这个问题,现在给出:export PATH=/usr/local/bin:$PATH只能解决一次,重启后又失灵了,是因为没有写进系统环境变量中。下面将把/usr/local/bin路径写进系统环境变量中:1.执行管理权限,使用vim编辑sudo vim ~..._homebrew path
文章浏览阅读10w+次,点赞294次,收藏1.8k次。蚁群算法(AG)是一种模拟蚂蚁觅食行为的模拟优化算法,它是由意大利学者Dorigo M等人于1991年首先提出,并首先使用在解决TSP(旅行商问题)上。之后,又系统研究了蚁群算法的基本原理和数学模型.蚁群算法的基本思想:# -*- coding: utf-8 -*-import randomimport copyimport timeimport sysimport mathimpor..._蚁群算法python代码
文章浏览阅读740次,点赞24次,收藏21次。Port | LoadBalancer(外部负载均衡) | ExternalName (外部DNS解析)ports:
文章浏览阅读235次,点赞28次,收藏9次。括号匹配附栈基本操作_括号匹配 栈应用
文章浏览阅读531次。css垂直居中最常用的八种布局方法 首先定义两个盒子,然后进行下面操作! <body> <div class="box"> <div class="coco"></div> </div></body> 方法一 display:flex /* 1 display:flex */ .box{ width: 40..._css常用垂直居中布局
文章浏览阅读1.9k次。针对以下常见的蓝屏错误代码进行问题排除,并未提供所有错误代码的列表,但由于许多错误代码可能具有相同的解决方案,因此最佳做法是按照以下步骤操作来对蓝屏错误进行问题排除。CRITICAL_PROCESS_DIEDSYSTEM_THREAD_EXCEPTION_NOT_HANDLEDIRQL_NOT_LESS_OR_EQUALVIDEO_TDR_TIMEOUT_DETECTEDPAGE_FAU..._interrupt exception not handled/page fault in nonpaged area/system threa
文章浏览阅读1.8k次,点赞3次,收藏12次。1、虚拟机网络设置,设置桥接模式,复制物理网络2、修改网络配置 启用网络vi /etc/sysconfig/network-scripts/ifcfg-ens33修改ONBOOT=yes3、安装网络工具 yum search ifconfig yum install net-tools4、测试ping www.baidu.com......_虚拟机centos7如何重装网络
文章浏览阅读1.4k次。select st_x(st_centroid(geom)) AS x from table_pgsql 获取中心点
文章浏览阅读233次,点赞6次,收藏3次。23-198、基于STM32单片机智能电能表市电抄表交流电表插座电费功率检测TFT彩屏显示无线蓝牙手机APP设计功能描述:本系统由STM32F103C8T6单片机核心板、TFT1.44寸彩屏液晶显示电路、交流电压互感器TV1005M、交流电流互感器TA1005M、继电器驱动电路、无线蓝牙模块、蜂鸣器报警驱动电路及电源组成。【1】220V市电经过互感器后产生微弱交流电信号,经过整流滤波后变为直流,然后通过单片机内容AD转换进行采集,单片机换算出实际值,最终获取到交流电压(单位V)、交流电流(单位A);由功率(_stm32 智能电表
文章浏览阅读10w+次,点赞118次,收藏178次。在使用LaTex进行排版时,一个常见的需求是要把下标放在某个文字或者符号的正下方:LaTex的数学模式下提供了\limits命令,形如expr1\limits_{expr2}^{expr3}中expr2会出现在expr1的正下方,而expr3会出现在expr1的正上方,例如命令$\sum\limits_{i=0}^n {x_i}$会生成效果但是\limits命令..._latex下标在正下方
文章浏览阅读3k次。JSON中对象通过“{}”来标识,一个“{}”代表一个对象,如{“AreaId”:”123”},对象的值是键值对的形式(key:value)。json_encode()该函数主要用来将数组和对象,转换为json格式json_encode(PHP 5 >= 5.2.0, PECL json >= 1.2.0)json_encode — 对变量进行 JSON 编码Report a bug ..._ajax查询数据库以json返回