博客
关于我
没错,你离分布式搜索只差一个Elasticsearch入门!
阅读量:353 次
发布时间:2019-03-04

本文共 2125 字,大约阅读时间需要 7 分钟。

Elasticsearch 入门指南:从零到hero

作为一名技术博主,我对 Elasticsearch 的了解主要停留在“这个东西能做搜索”这一层面。然而,公司最近提出了对商品搜索系统的升级需求,这让我不得不深入了解 Elasticsearch。经过一些调研和学习,我决定写一篇入门文章,分享自己的摸索过程。

一、为什么选择 Elasticsearch?

Elasticsearch 并非一款普通的搜索引擎,它是一个分布式、RESTful 风格的搜索和数据分析引擎。作为 Elastic Stack 的核心,它不仅能高效处理海量数据,还能在数据中发现意料之外的模式。这种能力在电商系统中尤为重要,能够提升用户体验和商城的竞争力。

二、Elasticsearch 的核心架构

Elasticsearch 属于 Elastic Stack 的一部分,完整的架构包括 Elasticsearch、Kibana、Logstash 等组件。Elasticsearch 负责数据存储和检索,Kibana 则提供可视化界面,Logstash 负责数据收集等。理解这些组件的协同工作是掌握 Elasticsearch 的关键。

三、安装 Elasticsearch

安装 Elasticsearch 相对简单,但需要注意以下几点:

  • 环境要求:Elasticsearch 由 Java 开发,建议安装 JDK(版本不低于 8)。最新版本的 Elasticsearch 7.6.2 已内置 Java 环境,下载后直接解压即可。

  • 默认配置:下载完成后,双击 elasticsearch.bat 文件启动服务。默认配置下,Elasticsearch 会占用 9200 端口。

  • 验证启动:启动完成后访问 http://localhost:9200 检查是否成功。

  • 停止服务:可以通过 Ctrl+C 停止服务。

  • 四、安装 Kibana

    Kibana 是 Elasticsearch 的可视化界面,安装步骤类似:

  • 下载 Kibana 的 Windows 版本,解压后运行 kibana.bat 文件。

  • 访问 http://localhost:5601 查看界面。

  • 使用 Kibana 对 Elasticsearch 数据进行可视化分析。

  • 五、Elasticsearch 的核心概念

    在实际操作前,掌握以下概念是必不可少的:

  • 索引(Index):相当于 MySQL 的数据库,用于存储数据的集合。

  • 类型(Type):类似于表,定义文档的结构。常用类型有 text(全文检索)、keyword(关键词)、number(数值型)等。

  • 文档(Document):存储的实际数据单位,采用 JSON 格式。

  • 六、Java 客户端的使用

    如果你是 Java 开发者,可以通过 Elasticsearch 的 RESTful API 进行交互。以下是简单的 Java 客户端示例:

    RestHighLevelClient client = new RestHighLevelClient(    RestClient.builder(new HttpHost("localhost", 9200, "http")));// 添加数据IndexRequest indexRequest = new IndexRequest("writer")    .id("1")    .source("name", "沉默王二", "age", 18, "memo", "一枚有趣的程序员");client.index(indexRequest, RequestOptions.DEFAULT);// 查询数据GetRequest getRequest = new GetRequest("writer", "1");GetResponse getResponse = client.get(getRequest, RequestOptions.DEFAULT);String sourceAsString = getResponse.getSourceAsString();System.out.println(sourceAsString);

    七、实战演练

    通过以上代码,你已经成功将数据添加到 Elasticsearch 并进行了查询。为了进一步体验,可以通过 Kibana Dev Tools 面板执行以下查询:

    GET /writer/_search{  "query": {    "term": {      "name": "沉默王二"    }  }}

    八、总结与展望

    Elasticsearch 的学习过程充满了挑战,但也充满了收获。从安装到实战,每一步都让我对这款强大的搜索引擎有了更深刻的理解。对于刚入门的小伙伴来说,实践是最好的学习方式,我也希望大家能通过这篇文章,勇敢地走进 Elasticsearch 的世界。

    如果你对 Elasticsearch 还有其他疑问,或者想了解更多实战技巧,欢迎在评论区留言交流。毕竟,我们都是技术路上行的小白,共同学习、共同进步才是最重要的!

    转载地址:http://bnxe.baihongyu.com/

    你可能感兴趣的文章
    OpenMMLab | 【全网首发】Llama 3 微调项目实践与教程(XTuner 版)
    查看>>
    OpenMMLab | 面向多样应用需求,书生·浦语2.5开源超轻量、高性能多种参数版本
    查看>>
    OpenPPL PPQ量化(4):计算图的切分和调度 源码剖析
    查看>>
    OpenPPL PPQ量化(5):执行引擎 源码剖析
    查看>>
    Openresty框架入门详解
    查看>>
    OpenResty(2):OpenResty开发环境搭建
    查看>>
    openshift搭建Istio企业级实战
    查看>>
    Openstack 之 网络设置静态IP地址
    查看>>
    OpenStack 网络服务Neutron详解
    查看>>
    Openstack(两控制节点+四计算节点)-1
    查看>>
    Openstack企业级云计算实战第二、三期培训即将开始
    查看>>
    OpenStack安装部署实战
    查看>>
    OpenStack的基本概念与架构详解
    查看>>
    Openstack的视频学习
    查看>>
    openstack虚拟机迁移live-migration中libvirt配置
    查看>>
    ORACEL学习--理解over()函数
    查看>>
    ORACLE Bug 4431215 引发的血案—原因分析篇
    查看>>
    oracle dblink结合同义词的用法 PLS-00352:无法访问另一数据库
    查看>>
    Oracle dbms_job.submit参数错误导致问题(ora-12011 无法执行1作业)
    查看>>
    oracle dg switchover,DG Switchover fails
    查看>>