博客
关于我
没错,你离分布式搜索只差一个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/

    你可能感兴趣的文章
    PhpStorm配置远程xdebug
    查看>>
    phpStudy安装教程
    查看>>
    phpunit
    查看>>
    phpweb成品网站最新版(注入、上传、写shell)
    查看>>
    phpWhois 项目推荐
    查看>>
    Redis事务详解,吃透数据库没你想的那么难
    查看>>
    phpwind部署问题
    查看>>
    PHP_CodeIgniter Github实现个人空间
    查看>>
    php_crond:一个基于多进程的定时任务系统-支持秒粒度的任务配置
    查看>>
    PHP__call __callStatic
    查看>>
    PHP——修改数据库1
    查看>>
    PHP——封装Curl请求方法支持POST | DELETE | GET | PUT 等
    查看>>
    PHP——底层运行机制与原理
    查看>>
    php一句话图片运行,【后端开发】php一句话图片木马怎么解析
    查看>>
    PHP三方登录,移动端与服务端交互
    查看>>
    PHP上传文件大小限制的调整 Nginx 413 Request Entity Too Large
    查看>>
    php上传文件找不到临时文件夹
    查看>>
    PHP下curl用法分析
    查看>>
    php与web服务器关系
    查看>>
    redis事务操作
    查看>>