0


Elasticsearch:InteliJ Elasticsearch plugin 集成

Intelij 是 Java 开发者的首先开发工具。很多开发者也使用 Java 来集成 Elasticsearch。IntelliJ IDEA 的每个方面都旨在最大限度地提高开发人员的生产力。智能编码辅助和符合人体工程学的设计共同使开发不仅富有成效,而且令人愉快。而 InteliJ Elasticsearch 插件一个专业的 GUI 客户端转为访问 Elasticsearch 而设置的。IntelliJ Elasticsearch 是 JetBrains IDE 的高级插件。 通过更快的数据探索、查询生成、书签等加速你的 Elasticsearch 工作流程。IntelliJ Elasticsearch 插件允许你连接到 Elasticsearch 或 Kibana,浏览和编辑你的数据并执行 REST API 请求。它有如下的功能:

  • 使用 SSH、SSL 或 AWS 签名连接到 Elasticsearch 或 Kibana
  • 在表格或 JSON 视图中浏览数据、排序和隐藏字段,以及使用 KQL 轻松过滤
  • 将你最喜欢的请求保存在项目或暂存文件中
  • 查询 DSL 和 REST API 自动完成
  • 使用带有字段自动完成功能的 Kibana 查询语言进行搜索
  • REST API 和查询 DSL 的 Elasticsearch 文档
  • 具有简短信息的集群、索引、别名和节点列表
  • 在表格或对话窗口中创建、更新或删除文档
  • 支持所有 Elasticsearch 版本
  • 还有其它更多

在本文的下面部分,我将描述如何使用这个插件并进行一些展示。我将使用最新的 Elastic Stack 8.3.2 来进行展示。

安装

Elastic Stack

如果你还没有安装好自己的 Elasticsearch 及 Kibana,请参考如下的文章来进行安装:

  • 如何在 Linux,MacOS 及 Windows 上进行安装 Elasticsearch
  • Kibana:如何在 Linux,MacOS 及 Windows上安装 Elastic 栈中的 Kibana

特别指出的是:我们选择安装最新的 Elastic Stack 8.3.2。

InteliJ

我们在地址 Download IntelliJ IDEA: The Capable & Ergonomic Java IDE by JetBrains 根据自己的平台下载最新的 InteliJ 来进行安装。我下载 Ultimate 试用版本,并在 Ubuntu 上进行安装。我们下载它的安装包,解压至一个安装目录,并执行如下的命令来进行启动:

  1. ./bin/idea.sh

安装 InteliJ Elasticsearch 插件

在上面,我们搜索 Elasticsearch 插件,并点击 Install 按钮:

我们接着创建一个 Java 样本项目:

建立 Elasticsearch 的连接

我们按照如下的选择来创建 Elasticsearch 连接:

我们选择更新 Elasticsearch 驱动:

我们首先删除已经安装的比较旧的驱动。我们接下来到地址 Download JDBC Client | Elastic 下载最新版本的驱动 x-pack-sql-jdbc-8.3.2.jar,或者去地址 https://www.elastic.co/downloads/past-releases 下载之前的版本。请注意:必须和 Elasticsearch 的安装版本相同。我们点击上面的 + 符号来上传最新的驱动:

接下来,我们找到 Elasticsearch 的安装目录,并查看它的安装证书:

  1. parallels@liuxg:~/elastic/elasticsearch-8.3.2$ pwd
  2. /home/parallels/elastic/elasticsearch-8.3.2
  3. parallels@liuxg:~/elastic/elasticsearch-8.3.2$ ls ca/
  4. ca.crt ca.key

关于这些证书的情况,你可以阅读我之前的文章:

  • Elasticsearch:使用不同的 CA 更新安全证书 (一)
  • Elasticsearch:使用不同的 CA 更新安全证书 (二)

我们把上面的证书的路径输入到如下的配置中:

我们需要记得证书的密码。我们接着回到之前的 General 页面继续配置:

点击上面的 Test Connection:

在上面我们可以看到有一个错误信息。它表明我们的 Elasticsearch 的 License 有问题。由于这个功能是白金版功能,我们需要启动试用。更多关于 Elasticsearch 版权的信息,请在地址 订阅 | Elastic Stack 产品和支持 | Elastic 进行查看。

我们可以在 Kibana 里执行如下的命令:

  1. POST /_license/start_trial?acknowledge=true&pretty

或者直接到 Stack Management 中启动白金版试用功能:

这样我们就启动了白金版试用功能。

我们再次来测试我们的连接:

这次显然我们的连接是成功的。 我们甚至可以看到远程的 Elasticsearch 集群的索引:

关于如何建立远程集群的连接,请参考我的另外一篇文章 “Elasticsearch:通过 JDBC 使用 SQL 来查询索引 - DBeaver”。

导入例子索引

我们按照如下的步骤来导入 Kibana 自带的例子索引:

我们通过这样的操作就把 Kibana 自带的索引 kibana_sample_data_flights 及 kibana_sample_data_logs 写入到 Elasticsearch 中了。

我们按照如下的方式来创建一个新的 twitter 索引:

  1. PUT twitter
  2. {
  3. "mappings": {
  4. "properties": {
  5. "DOB": {
  6. "type": "date"
  7. },
  8. "address": {
  9. "type": "text",
  10. "fields": {
  11. "keyword": {
  12. "type": "keyword",
  13. "ignore_above": 256
  14. }
  15. }
  16. },
  17. "age": {
  18. "type": "long"
  19. },
  20. "city": {
  21. "type": "keyword"
  22. },
  23. "country": {
  24. "type": "keyword"
  25. },
  26. "message": {
  27. "type": "text",
  28. "fields": {
  29. "keyword": {
  30. "type": "keyword",
  31. "ignore_above": 256
  32. }
  33. }
  34. },
  35. "province": {
  36. "type": "keyword"
  37. },
  38. "uid": {
  39. "type": "long"
  40. },
  41. "user": {
  42. "type": "text",
  43. "fields": {
  44. "keyword": {
  45. "type": "keyword",
  46. "ignore_above": 256
  47. }
  48. }
  49. }
  50. }
  51. }
  52. }
  1. POST _bulk
  2. {"index":{"_index":"twitter","_id":1}}
  3. {"user":"张三","message":"今儿天气不错啊,出去转转去","uid":2,"age":20,"city":"北京","province":"北京","country":"中国","address":"中国北京市海淀区","DOB": "1999-04-01"}
  4. {"index":{"_index":"twitter","_id":2}}
  5. {"user":"老刘","message":"出发,下一站云南!","uid":3,"age":22,"city":"北京","province":"北京","country":"中国","address":"中国北京市东城区台基厂三条3号", "DOB": "1997-04-01"}
  6. {"index":{"_index":"twitter","_id":3}}
  7. {"user":"李四","message":"happy birthday!","uid":4,"age":25,"city":"北京","province":"北京","country":"中国","address":"中国北京市东城区","DOB": "1994-04-01"}
  8. {"index":{"_index":"twitter","_id":4}}
  9. {"user":"老贾","message":"123,gogogo","uid":5,"age":30,"city":"北京","province":"北京","country":"中国","address":"中国北京市朝阳区建国门", "DOB": "1989-04-01"}
  10. {"index":{"_index":"twitter","_id":5}}
  11. {"user":"老王","message":"Happy BirthDay My Friend!","uid":6,"age":26,"city":"北京","province":"北京","country":"中国","address":"中国北京市朝阳区国贸","DOB": "1993-04-01"}
  12. {"index":{"_index":"twitter","_id":6}}
  13. {"user":"老吴","message":"好友来了都今天我生日,好友来了,什么 birthday happy 就成!","uid":7,"age":28,"city":"上海","province":"上海","country":"中国","address":"中国上海市闵行区", "DOB": "1991-04-01"}

我们可以看到更新后的视图如下:

查询

我们可以做如下的查询:

更多相关功能请观看视频:IntelliJ Elasticsearch - Professional GUI Client for Elasticsearch


本文转载自: https://blog.csdn.net/UbuntuTouch/article/details/126094550
版权归原作者 Elastic 中国社区官方博客 所有, 如有侵权,请联系我们删除。

“Elasticsearch:InteliJ Elasticsearch plugin 集成”的评论:

还没有评论