操作索引

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相关推荐

  1. 全文搜索引擎 Elasticsearch 简介 及其与 Python 的对接实现

    什么是 Elasticsearch 想查数据就免不了搜索,搜索就离不开搜索引擎,百度.谷歌都是一个非常庞大复杂的搜索引擎,他们几乎索引了互联网上开放的所有网页和数据.然而对于我们自己的业务数据来说,肯 ...

  2. 全文搜索引擎----ElasticSearch和Solr

    全文搜索引擎 ElasticSearch 还是 Solr? 最近项目组安排了一个任务,项目中用到了全文搜索,基于全文搜索 Solr,但是该 Solr 搜索云项目不稳定,经常查询不出来数据,需要手动全量 ...

  3. 全文搜索引擎Elasticsearch,这篇文章给讲透了!(Elasticsearch技术原理及实现方式)

    关于Elasticsearch的技术原理及实现方式看了两篇讲的非常好的文章,在这里分享给大家. 其中一篇是: Elasticsearch 技术分析(九):全文搜索引擎Elasticsearch,这篇文 ...

  4. 全文搜索引擎 Elasticsearch 入门概念

    基本概念 Node 与 Cluster Elastic 本质上是一个分布式数据库,允许多台服务器协同工作,每台服务器可以运行多个 Elastic 实例. 单个 Elastic 实例称为一个节点(nod ...

  5. 全文搜索引擎Elasticsearch,这篇文章给讲透了

    之前已经分享过Elasticsearch的使用和原理的知识,由于近期在公司内部做了一次分享,所以本篇主要是基于之前的博文的一个总结,希望通过这篇文章能让读者大致了解Elasticsearch是做什么的 ...

  6. 全文搜索引擎 ElasticSearch 还是 Solr?

    原文链接 最近项目组安排了一个任务,项目中用到了全文搜索,基于全文搜索 Solr,但是该 Solr 搜索云项目不稳定,经常查询不出来数据,需要手动全量同步,而且是其他团队在维护,依赖性太强,导致 So ...

  7. 2万字详解,彻底讲透 全文搜索引擎 Elasticsearch

    来源:cnblogs.com/jajian/p/11223992.html 由于近期在公司内部做了一次 Elasticsearch 的分享,所以本篇主要是做一个总结,希望通过这篇文章能让读者大致了解 ...

  8. 全文搜索引擎 Elasticsearch 安装

    elasticsearch 官网 简介 Elasticsearch 是一个分布式可扩展的实时搜索和分析引擎,一个建立在全文搜索引擎 Apache Lucene™ 基础上的搜索引擎.当然 Elastic ...

  9. 全文搜索引擎ElasticSearch

    什么是ElasticSearch? Elasticsearch和Redis, Mysql一样,不仅服务于Java语言,其它语言也可以使用, 它的功能也类似一个数据库,能高效的从大量数据中搜索匹配指定关 ...

最新文章

  1. 实现DFS之“骨头的诱惑”
  2. 问题 “cell 出栈 selectBox 已选的图标,被释放掉,再次进入屏幕时,没有了已选图标 ” 解决方案...
  3. java 内存模型堆和本地方法
  4. Sort List[leetcode] 由归并排序的递归和循环,到本题的两种解法
  5. Hash表——省市(洛谷 P3405)
  6. statsmodels学习——使用多元回归拟合数据
  7. oracle初级系列教程
  8. 剑指Offer题目汇总(持续更新中...)
  9. 各种未授权访问漏洞的复现与利用
  10. Avalondock 技巧之如何隐藏浮动面板停靠器
  11. apifox通过若依平台登录传参获取token
  12. 打好高远球要注意的三要素
  13. 大专生北漂10年,月薪翻20倍,我的人生从不被学历设限
  14. 1072. 开学寄语
  15. (附源码)spring boot工作计划管理软件 毕业设计181638
  16. 2019年了时间过得好快啊!我的小感慨
  17. nginx服务器中url重写rewrite参数和例子
  18. [微传感器]PID控制结合电路的通俗理解
  19. tranmac不能识别_怎么用transmac制作mac安装盘|transmac制作苹果系统启动U盘方法
  20. antd table合并行或者列(动态添加合并行、列)

热门文章

  1. 抽屉效果的实现(DrawerLayout和SlidingMenu的对比)
  2. JQuery中each()的使用方法说明
  3. Android Studio Debug
  4. [cocos2d-x]游戏开发系列教程-搭建cocos2d-x的windows开发环境
  5. 有关网页抓取问题的一些经验总结 - passover【毕成功的博客】 - 51CTO技术博客
  6. WinRAR最新版V3.93 破解方法
  7. jQuery Form Plugin (jquery表单插件)
  8. php 超过100m文件上传,科技常识:apache+php上传大文件以上传100M为例
  9. commons-fileupload-1.2.1实现文件上传
  10. 借助开源工具高效完成Java应用的运行分析