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标签:

  • 相关阅读:
    转dhdhtmlxTree
    转Merge的用法
    解决SqlServer2008评估期过期
    借鉴一下对比算法
    Asp.Net异常:"由于代码已经过优化或者本机框架位于调用堆栈之上,无法计算表达式的值"的解决方法
    查看Windows下引起Oracle CPU占用率高的神器-qslice
    今日有奖活动一览
    【分享】给做技术的战友们推荐一个不错的微信公号解解闷
    Unreal Engine Plugin management
    当在ECLIPSE中import现存项目时,如遇到版本不符
  • 原文地址:https://www.cnblogs.com/wangxiayun/p/10251523.html
Copyright © 2011-2022 走看看