ElasticSearch笔记整理(一):简介、REST与安装配置

发布时间:2020-07-06 23:40:03 作者:xpleaf
来源:网络 阅读:4664

[TOC]


ElasticSearch简介

ElasticSearch是一款基于Apache Lucene构建的开源搜索引擎,它采用Java编写并使用Lucene构建索引、提供搜索功能,ElasticSearch的目标是让全文搜索变得简单,开发者可以通过它简单明了的RestFul API轻松地实现搜索功能,而不必去面对Lucene的复杂性。ES能够轻松的进行大规模的横向扩展,以支撑PB级的结构化和非结构化海量数据的处理。

一言以蔽之:ElasticSearch是一款基于Lucene的实时分布式搜索和分析引擎。 ElasticSearch设计主要用于云计算中,能够达到实时搜索、稳定、可靠、快速,安装使用也非常方便。

官网:www.elastic.co

关于ElasticSearch的小故事:
Shay Banon认为自己参与Lucene完全是一种偶然,当年他还是一个待业工程师,跟随自己的新婚妻子来到伦敦,
妻子想在伦敦学习做一名厨师,而自己则想为妻子开发一个方便搜索菜谱的应用,所以才接触到Lucene。
直接使用Lucene构建搜索有很多问题,包含大量重复性的工作,所以Shay便在Lucene的基础上不断地进行抽象,
让Java程序嵌入搜索变得更容易,经过一段时间的打磨便诞生了他的第一个开源作品“Compass”,中文即“指南针”
的意思。之后,Shay找到了一份面对高性能分布式开发环境的新工作,在工作中他渐渐发现越来越需要一个易用的、
高性能、实时、分布式搜索服务,于是他决定重写Compass,将它从一个库打造成了一个独立的server,并将其改名为Elasticsearch。

ES和Solr对比

接口
    类似webservice的接口
    REST风格的访问接口
分布式存储
    solrCloud  solr4.x才支持
    es是为分布式而生的
支持的格式
    solr xml json
    es json
近实时搜索

ES和MySQL对比

MySQL ElasticSearch
database(数据库) index(索引库)
table(表) type(类型)
row(行) document(文档)
column(列) field(字段)

REST简介

REST简介(一):概述

REST全称Representational State Transfer。是一种软件的架构风格,而不是标准,只是提供了一组设计原则和约束条件。它主要用于客户端和服务器交互类的软件。基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存等机制。

其实说白了就是类似HTTP的访问,和HTTP非常的相似。

REST操作:

GET:获取对象的当前状态;
PUT:改变对象的状态;
POST:创建对象;
DELETE:删除对象;
HEAD:获取头信息。

REST简介(二):Rest具体操作说明

资源 一组资源的URI,比如:http://example.com/res/ 单个资源的URI,比如:http://example.com/res/123
GET 列出URI,以及该资源组中每个资源的详细信息(后者可选) 获取指定的资源的详细信息,格式可以自选一个合适的网络媒体类型(比如:XML、JSON等)
PUT 使用给定的一组资源替换当前整组资源 替换/创建指定的资源。并将其追加到相应的资源组中。
POST 在本组资源中创建/追加一个新的资源。该操作往往返回新的URL 把指定的资源当做一个资源组,并在其下创建/追加一个新的元素,使其隶属于当前资源。
DELETE 删除整组资源 删除指定的元素

REST简介(三):ES内置REST接口

URL 描述
/index/_search 搜索指定索引下的数据
/_aliases 获取或操作索引的别名
/index/ 查看指定索引的详细信息
/index/type/ 创建或操作类型
/index/_mapping 创建或操作mapping
/index/_setting 创建或操作设置(number_of_shards是不可更改的)
/index/_open 打开指定被关闭的索引
/index/_close 关闭指定索引
/index/_refresh 刷新索引(使新加内容对搜索可见,不保证数据被写入磁盘)
/index/flush 刷新索引(会触发Lucene提交)

ElasticSearch安装配置

安装配置

注意:只能安装在普通用户下面,不能安装的root用户下面。
    unzip elasticsearch-2.3.0.zip -d ../解压到指定目录
    配置config/elasticsearch.yml
    cluster.name: bigdata-08-28
    node.name: hadoop
    path.data: /home/uplooking/data/elasticsearch
    path.logs:  /home/uplooking/logs/elasticsearch
    network.host: uplooking01

启动:
    $ELASTICSEARCH_HOME/bin/elasticsearch -d

验证:
   访问es的安装服务器,http://<es_ip>:9200

配置文件说明

logging.yml
   日志配置文件,es也是使用log4j来记录日志的,所以logging.yml里的设置按普通log4j配置来设置就行了。
elasticsearch.yml
   es的基本配置文件,需要注意的是key和value的格式“:”之后需要一个空格。
   修改如下配置之后,就可以从别的机器上进行访问了

Transport.tcp.port:9300 设置节点间交互的tcp端口,默认为9300
推荐阅读:
  1. PHP整理笔记五目录与文件
  2. Python就业班笔记整理(一)

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

大数据 elasticsearch elk

上一篇:UIScrollView的简单使用,可用来实现简单的相册

下一篇:系统管理员必读的容器入门指南

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》