【全文搜索引擎】Elasticsearch基本查询基础JavaAPI
操作索引
ElasticSearch存储数据的地方,可以理解成关系型数据库中的数据库概念。
- 添加索引
PUT http://ip:端口/索引名称Kibana操作 --- PUT 索引名称
- 查询索引
GET http://ip:端口/索引名称 # 查询单个索引信息
GET http://ip:端口/索引名称1,索引名称2... # 查询多个索引信息
GET http://ip:端口/_all # 查询所有索引信息Kibana操作 GET 索引名GET 索引名1,索引名2GET _all
- 删除索引
DELETE http://ip:端口/索引名称Kibana操作 --- DELETE 索引名
- 关闭索引
POST http://ip:端口/索引名称/_close Kibana操作 --- POST 索引名称/_close
- 打开索引
POST http://ip:端口/索引名称/_openKibana操作 --- POST 索引名称/_open
操作映射
数据类型
简单数据类型
- 字符串
- text:会分词,不支持聚合
- keyword:不会分词,将全部内容作为一个词条,支持聚合
- 数值
- 布尔
- boolean
- 二进制
- binary
- 范围类型
- integer_range, float_range, long_range, double_range, date_range
- 日期
- date
复杂数据类型
- 数组:[ ]
- 对象:{ }
操作映射
PUT /索引库名称/_mapping/类型名称
{"properties": {"字段名": {"type": 类型,可以是text、keyword、long、short、date、integer、object等"index": 是否索引,默认为true"store": 是否存储,默认为false"analyzer": 分词器}}
}
PUT person
{"mappings": {"properties": {"name":{"type" : "keyword"},"age":{"type" : "integer"},"address":{"type" : "text","analyzer": "ik_max_word"}}}
}name: 字段【域】
操作文档
增加文档,ID存在,则更新,不存在,则增加
#添加文档,指定ID
PUT person/_doc/1
{"name":"张三","age":20,"address":"北京市海淀区"
}
#添加文档,不指定ID
POST person/_doc
{"name":"张三","age":20,"address":"北京市海淀区"
}ID会自动生成
删除文档
#删除指定ID的文档
DELETE person/_doc/1
查询文档
#查询指定ID的文档
GET person/_doc/1#查询全部文档
GET person/_search#完整语法
GET person/_search
{"query": {"match_all": {}}
}
基本查询
词条查询:term
词条查询是Elasticsearch中的一个简单查询。它仅匹配在给定字段中含有该词条的文档,而
且是确切的、未经分析的词条。最简单的词条查询如下所示:
{ "query" : { "term" : { "title" : "crime" } }
}
上述查询将匹配title字段中含有crime一词的文档。记住,词条查询是未经分析的,因此需要提供跟索引文档中的词条完全匹配的词条。请注意,在输入数据中,title字段含有Crime and
Punishment,但我们使用小写开头的crime来搜索。因为Crime一词在建立索引时已经变成了crime。
match_all 查询
match_all查询是Elasticsearch中最简单的查询之一。它使我们能够匹配索引中的所有文件。
{ "query" : { "match_all" : {} }
}
JavaAPI
1、SpringBoot整合ES
2、操作ES的核心客户端RestHighLevelClient
3、操作索引核心对象 IndicesClient- 创建索引,也可以同时指定映射create(CreateIndexRequest, RequestOptions.DEFAULT)//指定映射CreateIndexRequest.mapping(映射规则,数据格式【一般为json】);- 查询索引get(GetIndexRequest, RequestOptions.DEFAULT);- 判断索引是否存在exists(GetIndexRequest, RequestOptions.DEFAULT);- 删除索引get(DeleteIndexRequest, RequestOptions.DEFAULT);
4、操作文档核心对象 IndexRequest- 创建文档以map为数据new IndexRequest("索引名").id("文档ID").source(数据);以对象的json为数据new IndexRequest("索引名").id("文档ID").source(数据,数据格式【json】);使用RestHighLevelClient的index方法创建- 查询文档使用RestHighLevelClient的get方法查询- 更新文档增加文档方法,ID相同,即为更新- 删除文档使用RestHighLevelClient的delete方法删除
【全文搜索引擎】Elasticsearch基本查询基础JavaAPI相关推荐
- 全文搜索引擎 Elasticsearch 简介 及其与 Python 的对接实现
什么是 Elasticsearch 想查数据就免不了搜索,搜索就离不开搜索引擎,百度.谷歌都是一个非常庞大复杂的搜索引擎,他们几乎索引了互联网上开放的所有网页和数据.然而对于我们自己的业务数据来说,肯 ...
- 全文搜索引擎----ElasticSearch和Solr
全文搜索引擎 ElasticSearch 还是 Solr? 最近项目组安排了一个任务,项目中用到了全文搜索,基于全文搜索 Solr,但是该 Solr 搜索云项目不稳定,经常查询不出来数据,需要手动全量 ...
- 全文搜索引擎Elasticsearch,这篇文章给讲透了!(Elasticsearch技术原理及实现方式)
关于Elasticsearch的技术原理及实现方式看了两篇讲的非常好的文章,在这里分享给大家. 其中一篇是: Elasticsearch 技术分析(九):全文搜索引擎Elasticsearch,这篇文 ...
- 全文搜索引擎 Elasticsearch 入门概念
基本概念 Node 与 Cluster Elastic 本质上是一个分布式数据库,允许多台服务器协同工作,每台服务器可以运行多个 Elastic 实例. 单个 Elastic 实例称为一个节点(nod ...
- 全文搜索引擎Elasticsearch,这篇文章给讲透了
之前已经分享过Elasticsearch的使用和原理的知识,由于近期在公司内部做了一次分享,所以本篇主要是基于之前的博文的一个总结,希望通过这篇文章能让读者大致了解Elasticsearch是做什么的 ...
- 全文搜索引擎 ElasticSearch 还是 Solr?
原文链接 最近项目组安排了一个任务,项目中用到了全文搜索,基于全文搜索 Solr,但是该 Solr 搜索云项目不稳定,经常查询不出来数据,需要手动全量同步,而且是其他团队在维护,依赖性太强,导致 So ...
- 2万字详解,彻底讲透 全文搜索引擎 Elasticsearch
来源:cnblogs.com/jajian/p/11223992.html 由于近期在公司内部做了一次 Elasticsearch 的分享,所以本篇主要是做一个总结,希望通过这篇文章能让读者大致了解 ...
- 全文搜索引擎 Elasticsearch 安装
elasticsearch 官网 简介 Elasticsearch 是一个分布式可扩展的实时搜索和分析引擎,一个建立在全文搜索引擎 Apache Lucene™ 基础上的搜索引擎.当然 Elastic ...
- 全文搜索引擎ElasticSearch
什么是ElasticSearch? Elasticsearch和Redis, Mysql一样,不仅服务于Java语言,其它语言也可以使用, 它的功能也类似一个数据库,能高效的从大量数据中搜索匹配指定关 ...
最新文章
- 实现DFS之“骨头的诱惑”
- 问题 “cell 出栈 selectBox 已选的图标,被释放掉,再次进入屏幕时,没有了已选图标 ” 解决方案...
- java 内存模型堆和本地方法
- Sort List[leetcode] 由归并排序的递归和循环,到本题的两种解法
- Hash表——省市(洛谷 P3405)
- statsmodels学习——使用多元回归拟合数据
- oracle初级系列教程
- 剑指Offer题目汇总(持续更新中...)
- 各种未授权访问漏洞的复现与利用
- Avalondock 技巧之如何隐藏浮动面板停靠器
- apifox通过若依平台登录传参获取token
- 打好高远球要注意的三要素
- 大专生北漂10年,月薪翻20倍,我的人生从不被学历设限
- 1072. 开学寄语
- (附源码)spring boot工作计划管理软件 毕业设计181638
- 2019年了时间过得好快啊!我的小感慨
- nginx服务器中url重写rewrite参数和例子
- [微传感器]PID控制结合电路的通俗理解
- tranmac不能识别_怎么用transmac制作mac安装盘|transmac制作苹果系统启动U盘方法
- antd table合并行或者列(动态添加合并行、列)
热门文章
- 抽屉效果的实现(DrawerLayout和SlidingMenu的对比)
- JQuery中each()的使用方法说明
- Android Studio Debug
- [cocos2d-x]游戏开发系列教程-搭建cocos2d-x的windows开发环境
- 有关网页抓取问题的一些经验总结 - passover【毕成功的博客】 - 51CTO技术博客
- WinRAR最新版V3.93 破解方法
- jQuery Form Plugin (jquery表单插件)
- php 超过100m文件上传,科技常识:apache+php上传大文件以上传100M为例
- commons-fileupload-1.2.1实现文件上传
- 借助开源工具高效完成Java应用的运行分析