• 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,请参考如下的文章来进行安装:

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

    InteliJ

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

    ./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

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

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

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

     点击上面的 Test Connection:

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

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

    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

  • 相关阅读:
    气导耳机是什么?值得推荐的气传导耳机分享
    【多线程那些事儿】如何使用C++写一个线程安全的单例模式?
    C++的std::move及相关概念
    PlantUML 绘制时序图
    【Codeforces Round #835 (Div. 4)】A——G题解
    MySQL练习题
    CUDA、cudNN 、CUDAToolKit三者关系
    AWK编程语言笔记第一章:基础语法
    vue cli 打包、生产环境http-proxy-middleware代理
    BGP进阶:BGP 基础实验配置
  • 原文地址:https://blog.csdn.net/UbuntuTouch/article/details/126094550