Elasticsearch使用Kibana进行基础操作

一、Restful接口

Elasticsearch通过RESTful接口提供与其进行交互的方式。在ES中,提供了功能丰富的RESTful API的操作,包括CRUD、创建索引、删除索引等操作。你可以用你最喜爱的 web 客户端访问 Elasticsearch 。事实上,你甚至可以使用 curl 命令来和 Elasticsearch 交互。

Elasticserch为大部分编程语言(诸如java/javascript/go/ruby等等)提供了官方客户端。所有这些可以在Elasticsearch Clients找到。

二、使用Kibana可视化操作

Kibana是一个用于数据可视化和分析的开源工具。它是Elasticsearch的一个组件,用于在Elasticsearch索引中搜索、分析和互动式地可视化数据。Kibana提供了丰富的图表和图形,可以帮助用户更好地理解和分析数据,从而支持数据驱动的决策和洞察力的发现。

启动之后,浏览器输入: http://localhost:5601/ ,进入开发者工具控制台

官方学习教程传送门--> elasticsearch入门教程

三、索引操作

3.1创建索引

javascript 复制代码
PUT /employee?pretty

3.2查询所有索引

其中,employee是我们自己创建的索引,插入了0条数据。

3.3删除索引

四、文档操作

4.1插入新文档

javascript 复制代码
PUT /index_name/_doc/document_id
{
  "field1": "value1",
  "field2": "value2",
  ...
}

其中:index_name代表索引名字,document_id代表文档的id。如果不指定,ES则自动创建一个。如果id已存在,则旧的数据被覆盖。

4.2更新文档

javascript 复制代码
POST /employee/doc/1
{
  "name": "Lily"
}

以上命令将索引为customer,id为1的文档,name属性进行更新。

4.3删除文档

4.4查询所有文档

java 复制代码
GET /索引名/_search
{"query": {
    "match_all": {}
	}
}

4.5查询指定字段

五、query语法

5.1查询语句的基本语法结构

javascript 复制代码
GET /索引名/_search
{
  "query": {
    "查询类型": {
      "字段名": "查询条件"
    }
  }
}
 
  • GET:请求的类型,表示发送一个GET请求。
  • /索引名/_search:指定要查询的索引和类型。
  • "query":查询的关键字,表示要进行查询操作。
  • "查询类型":查询的类型,如match、term、range等。
  • "字段名":要查询的字段名。
  • "查询条件":具体的查询条件。

5.2match和term的区别

  1. Match查询:Match是一种全文搜索查询 ,它会将查询字符串分词,并将分词后的项与文档中的词项进行匹配。它会根据查询字符串的分词结果来搜索包含任意匹配项的文档。Match查询使用的是全文搜索的相关性算法,会给每个匹配的文档一个相关性得分。适合 用**text**类型的字段。
  2. Term查询:Term是一种精确匹配查询 ,它会将查询字符串作为一个整体与文档中的词项进行精确匹配。Term查询不进行分词,而是将查询字符串作为一个单独的术语进行搜索,不适合 用于text 类型的字段(官网原话Avoid using the term query for text fields)
javascript 复制代码
PUT my-index-001
{
  "mappings": {
    "properties": {
      "full_text": { "type": "text" }
    }
  }
}

PUT my-index-001/_doc/1
{
  "full_text":   "Hello Elastic!"
}

新建一个索引,包含一个名为"full_text"的text字段。ES会将text字段拆分为["Hello","Elastic"]。使用term搜索,结果为空。(term为精确匹配,而text字段已被拆分,所以匹配不到)

使用match匹配,则可以查询得到(因为match属于模糊查询,查询前也会进行拆词)

新建一个索引,包含一个名为"full_text"的keyword字段。使用term查询,得到结果。ES不会对keyword类型的字段进行拆词。

5.3范围查询

javascript 复制代码
GET /<index_name>/_search
{
  "query": {
    "range": {
      "<field_name>": {
        "gte": "<lower_limit>",
        "lte": "<upper_limit>"
      }
    }
  }
}
 

其中范围量词有:

gte:大于等于 ;

gt:大于 ;

lte:小于等于;

lt:小于

示例代码:

相关推荐
java1234_小锋8 小时前
Elasticsearch是如何实现Master选举的?
大数据·elasticsearch·搜索引擎
梦幻通灵14 小时前
ES分词环境实战
大数据·elasticsearch·搜索引擎
Elastic 中国社区官方博客14 小时前
Elasticsearch 中的热点以及如何使用 AutoOps 解决它们
大数据·运维·elasticsearch·搜索引擎·全文检索
小黑屋说YYDS20 小时前
ElasticSearch7.x入门教程之索引概念和基础操作(三)
elasticsearch
Java 第一深情1 天前
Linux上安装单机版ElasticSearch6.8.1
linux·elasticsearch·全文检索
KevinAha2 天前
Elasticsearch 6.8 分析器
elasticsearch
wuxingge2 天前
elasticsearch7.10.2集群部署带认证
运维·elasticsearch
Elastic 中国社区官方博客2 天前
Elasticsearch:如何部署文本嵌入模型并将其用于语义搜索
大数据·人工智能·elasticsearch·搜索引擎·ai·全文检索
Dreams°1232 天前
【大数据测试 Elasticsearch 的标准--超详细篇】
大数据·elasticsearch·jenkins
鸠摩智首席音效师2 天前
如何在 Elasticsearch 中配置 SSL / TLS ?
elasticsearch·ssl