ElasticSearch笔记整理:简介REST与安装配置

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ElasticSearch笔记整理:简介REST与安装配置相关的知识,希望对你有一定的参考价值。

[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

以上是关于ElasticSearch笔记整理:简介REST与安装配置的主要内容,如果未能解决你的问题,请参考以下文章

Elasticsearch总结笔记

ElasticSearch笔记整理:Java API使用与ES中文分词

Elasticsearch系列:Kibana安装与基本REST API

Elasticsearch Java Rest Client API 整理总结 ——Building Queries

Elastisearch 简介 使用 Query DSL 映射 分词 Elasticsearch-Rest-Client

ElasticSearch 学习笔记一 简介