技术标签: elasticsearch
Elasticsearch 是一个分布式可扩展的实时搜索和分析引擎,一个建立在全文搜索引擎 Apache Lucene 基础上的搜索引擎.当然 Elasticsearch 并不仅仅是 Lucene 那么简单,它不仅包括了全文搜索功能,还可以进行以下工作:
官网下载传送
官网下载window版(我的是6.6.1版本)。
双击运行bin目录下的 elasticsearch.bat
看到这个结果,说明安装,启动成功。
http://localhost:9200/_cat/indices?v
http://localhost:9200/customer
http://localhost:9200/customer/doc/1
//其中doc是类型。
http://localhost:9200/customer/doc/1
http://localhost:9200/customer
http://localhost:9200/customer/doc/1/_update?pretty
{
"doc": { "name": "Jane Doe" }
}
更新操作也可以使用简单的脚本来执行。如下的示例使用一个脚本将age增加了5:
http://localhost:9200/customer/doc/1/_update?pretty
{
"script" : "ctx._source.age += 5"
}
http://localhost:9200/customer/doc/2?pretty
推荐使用Kibana进行数据查询
GET _mget
{
"docs":[
{
"_index": "bank",
"_type": "account",
"_id": "1",
"_source": ["balance", "city"]
},
{
"_index": "bank",
"_type": "account",
"_id": "5",
"_source": "firstname"
}
]
}
也可以简写:
GET /bank/account/_mget
{
"ids": ["1", "2", "4"]
}
_bulk(批量操作)
1.格式:
{action:{metadata}}
{requestbody}
其中action(行为)可以取值:
1.create:文档不存在时创建
2.update:更新文档
3.index:创建新文档或覆盖已有文档
4.delete:删除一个文档
create和index的区别:如果数据存在,使用create操作失败,会提示文档以存在,使用index可以成功执行。
如果使用create创建多个,其中有存在的,那么存在的返回失败,不存在的添加成功
其中metadata可以取值:
_index,_type,_id
示例:
1.create:
POST /bank/account/_bulk
{
"create":{
"_id":"999"}}
{
"account_number":999, "balance": 999}
{
"create":{
"_id":"1000"}}
{
"account_number":1000, "balance": 1000}
{
"create":{
"_id":"1001"}}
{
"account_number":1001, "balance": 1001}
2.delete:
POST bank/account/_bulk
{
"delete":{
"_index":"bank", "_type":"account", "_id":"1000"}}
3.update:
POST /bank/account/_bulk
{
"update":{
"_id":"1001"}}
{
"doc":{
"balance":"0"}}
term:
用于查询指定字段包含某个词项的文档。这个查询不知道分词器的存在,所以搜索的值不会进行分词。只会拿搜索的值去倒排索引中找。
GET /bank/account/_search
{
"query":{
"term":{
"address":{
"value":"heath"
}
}
}
}
GET /bank/account/_search
{
"query":{
"match":{
"address":"511 Heath Place"
}
}
}
GET /bank/account/_search
{
"query":{
"multi_match":{
"query":"Worcester",
"fields":["city", "address"]
}
}
}
GET /bank/account/_search
{
"query":{
"match_phrase":{
"address":"511 Heath Place"
}
}
}
GET /bank/account/_search
{
"query":{
"multi_match":{
"query":"Worcester",
"fields":["city", "address"]
}
},
"_source": ["firstname", "age"]
}
_可以写个数组来指定,也可以在 "source" 字段中加"includes"和"excludes"
GET /bank/account/_search
{
"query":{
"multi_match":{
"query":"Worcester",
"fields":["city", "address"]
}
},
"_source": {
"includes": ["age", "balance", "gen*"],
"excludes": ["gender"]
}
}
GET /bank/account/_search
{
"query":{
"match_all":{
}
},
"sort":[
{
"balance":{
"order":"desc"
}
},
{
"age":{
"order":"asc"
}
}
]
}
GET /bank/account/_search
{
"query":{
"range":{
"age":{
"gte": 20,
"lt": 30
}
}
}
}
GET /bank/account/_search
{
"query":{
"wildcard":{
"city":{
"value": "nicho*n"
}
}
}
}
GET /bank/account/_search
{
"query":{
"wildcard":{
"city":{
"value": "nicho*n"
}
}
},
"highlight":{
"fields":{
"city":{
}
}
}
}
GET /bank/account/_search
{
"query":{
"fuzzy":{
"city": "Nicho1so"
}
}
}
GET /bank/account/_search
{
"query":{
"bool":{
"must": [
{
"term":{
"age":{
"value" :20
}
}
}
]
}
}
}
GET /bank/account/_search
{
"query":{
"bool":{
"filter": {
"exists":{
"field": "age"
}
}
}
}
}
文章浏览阅读6.1k次,点赞4次,收藏2次。【题目链接】ybt 2030:【例4.16】找素数【题目考点】1. 枚举2. 质数质数的因数只有1和它本身。判断数a是否是质数:循环变量i从2开始循环到a\sqrt{a}a,若存在a能整除的数字(即a的因数),那么a不是质数。否则a是质数。bool isPrime(int a)//判断a是否是质数,已知a >= 2{ for(int i = 2; i <= sqrt(a); i++) { if(a % i == 0) _信息学奥赛一本通2030:【例4.16】找素数
文章浏览阅读1.5w次。啊...这几天被逼着学习云计算,十分痛苦然后痛苦归痛苦,总的来说,对linux的理解还是有了些深入的今天就把期间做的一些小游戏源码发上来吧#!/bin/bash# 菜单echo "欢迎来到虚空台,凡人,这里你可以得到匹敌世界的财富,拥有灭星的力量,只要...你能活下去"readmainmenu() #返回{ ..._shell写小游戏
文章浏览阅读2.9w次,点赞69次,收藏507次。本文主要分享一下四旋翼无人机的建模过程,然后在Matlab的simulink模块搭建起四旋翼无人机的模型,下一章将结合这个模型设计双环PID控制器并调节参数。一、无人机建模过程_matlab无人机飞行轨迹的建模
文章浏览阅读2.6w次,点赞2次,收藏6次。连接数据库时报错:DB2 SQL Error: SQLCODE=-204, SQLSTATE=42704, SQLERRMC=YXUAT.CUST_BLK_REL, DRIVER=4.25.13原因:使用mybatis时,连接远程数据库,登陆用户时没有指定使用哪个schemas,也就是没指定用户名,这就导致了mybaits找不到我们想要的schemas,就会报错。解决办法:在写sql语句时,在..._sqlcode-204
文章浏览阅读1.4k次,点赞3次,收藏14次。之前玩arm都是电阻屏,但是电容屏更加通用,这次拿ALIENTEK 4.3’LCD进行学习,里面有GT9147驱动IC(相当于控制触摸屏的一个小芯片)关于电容屏有自我电容和交互电容我们一般用的是投射电容式触摸屏里面的交互电容原理自我电容:在玻璃表面有用 ITO 制成的横向与纵向的扫描电极,这些电极和地之间就构成一个电容的两极。当用手或触摸笔触摸的时候就会并联一个电容到电路中去,从而使在该条扫描线上的总体的电容量有所改变,就能检测出来什么地方电容改变用在笔记本电脑上的触摸屏上交互电容:交_查询改中断
文章浏览阅读10w+次,点赞1k次,收藏6.7k次。OpenCV 是一个的跨平台计算机视觉库,可以运行在 Linux、Windows 和 Mac OS 操作系统上。它轻量级而且高效——由一系列 C 函数和少量 C++ 类构成,同时也提供了 Python 接口,实现了图像处理和计算机视觉方面的很多通用算法。在本文中,将介绍 OpenCV 库,包括它的主要模块和典型应用场景,同时使用 OpenCV-Python 实战讲解图像处理基础要点。_opencv-python实战
文章浏览阅读2k次,点赞2次,收藏13次。上一篇做了安装oracle一些系统配置安装oracle12c单实例数据一、安装oracle的配置1.修改内核参数①编辑内核参数文件vim /etc/sysctl.conf②将内核配置粘贴到该文件中fs.file-max = 6815744kernel.sem = 250 32000 100 128kernel.shmmni = 4096kernel.shmall = 1073741824kernel.shmmax = 4398046511104kernel.panic_on_oops_linuxoracle-清理软件重装12c
文章浏览阅读2.8w次,点赞26次,收藏168次。三维模型可以表示任何现实世界中存在的物体,自然也可以表示任何游戏世界中存在的物体,比如地面,山川河流,花草树木,建筑,人物,都需要使用三维模型来表示。一般我们使用一些建模软件来建出游戏中需要的模型,然后导入到Unity中使用,本篇就来介绍介绍,一整个的3D模型制作导入流程以及需要注意的问题。_unity导入3d模型
文章浏览阅读713次。接口_interface的定义和作用
文章浏览阅读9.6k次,点赞13次,收藏106次。本文主要是介绍WINCC7.4 用VB来读写SQL server数据库,网上有不少这类例子,实现功能的方法也很多,但是能完整介绍并且贴出所有编码的还是比较少,今天的这个例子,我会先把所有的内容先截图展示,然后再提供整个WINCC文件第一步,SQL server建库和建表我用的是2014版本的,其他版本的相差无几,在开始--->所有程序,找到方框中箭头的那个单击然后,弹出下面图..._wincc利用vb与数据库的连接
文章浏览阅读794次,点赞13次,收藏9次。config_cb、option_cb、list_cd、config_load、config_foreach、config_get、config_set、config_list_foreach、config_get_bool、append和list_contains()函数使用
文章浏览阅读2.6k次,点赞5次,收藏44次。本系统基于Springboot和Vue实现的前后端分离的一个在线音乐网站系统,系统功能完整,页面简洁大方,是一个非常优秀的JAVA系统,比较适合做毕业设计使用。_springboot+ vue实现网页播放音乐