zoukankan      html  css  js  c++  java
  • ElasticSearch快速入门

    知识储备 

    学习ElasticSearch之前可以先了解一下lucene,这里是我整理的一篇关于lucene的笔记(传送门),对搜索框架有兴趣的还可以了解一下另一款企业级搜索应用服务器---solr(传送门)

    一.ElasticSearch概述

    1.简介

    ElasticSearch是一个基于Lucene的分布式搜索服务器,提供Restful API,采用shard(分片)的方式保证数据安全,并提供自动resharding的功能,github等大型站点就是采用了ES作为其搜索服务。目前开源的ES已经成为全球搜索引擎的首选,它可以快速的存储、搜索和分析海量数据。SpringBoot通过整合SpringData ElasticSearch为我们提供了非常便捷的检索功能支持。

    二.ElasticSearch 安装

    1.使用docker安装ES

    docker pull registry.docker-cn.com/library/elasticsearch

    2.使用docker启动ES

    docker run -e ES_JAVA_OPTS="-Xms256m -Xmx256m" -d -p 9200:9200 -p 9300:9300 --name ES01 5acf0e8da90b

    说明:9200 是web通信端口,9300是分布式节点通信端口,ES默认占用2G的堆内存空间,一般直接启用的话,一定会报错,所以我们还要使用ES_JAVA_OPTS设置JVM堆内存大小。

    2.测试ES是否启动

    使用浏览器访问:虚拟机ip地址:9200若成功响应下面的json数据说明ES已经成功启动了。

    三.ES的基本使用

    ES官网为我们提供了详细的文档,而且很人性化地提供了中文文档,所以学习起来十分方便。

    ES可以通过Restful API来CRUD数据,可以使用PostMan简单尝试一下。

    1.存储一条文档

    2.检索文档

    检索数据使用get请求:

    响应数据:

    3.检测是否有该数据

    使用head请求:

    注意head请求没有返回响应体,可以通过返回的状态码判断是否存在数据,200表示有,404表示没有。

    4.删除文档

    使用delete请求可以删除文档:

    5.更新文档

    更新文档同样使用put请求,新的文档会将旧的文档覆盖:

    返回的时候version版本变为2了,表示数据已经更新:

    6.检索employee下的所有数据

    注意:请求的时候要把body里的数据清空,不然会报下面的错误:

    7.条件查询

    查询last_name为Wang的员工。

     也可以使用json条件查询,由于get没有请求体,可以改为用post请求:

    8.更高级查询

    查询last_name为Wang,并且年龄大于30的员工

    9.全文检索

    匹配about中含有hello或者w的员工信息。

    10.短语搜索

    想当于精确匹配,例如找到about为hello,world的员工信息。

    11.高亮搜索

    返回值里会为高亮的字段自动加上HTML标签:

  • 相关阅读:
    Oracle 常用的单行函数
    mysql练习02
    mysql练习
    Linux命令
    JSS
    CSS
    Html标签
    需求文档
    Oracle 常用的单行函数
    RHEL7最小化安装之后(桥接模式),查看本机IP,
  • 原文地址:https://www.cnblogs.com/wangxiayun/p/10251523.html
Copyright © 2011-2022 走看看