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

原文地址:http://blog.51cto.com/xpleaf/2096306

时间: 2025-01-04 11:14:47

ElasticSearch笔记整理(一):简介、REST与安装配置的相关文章

node_简介及部署安装配置

Node简介及部署安装配置 一.node简介 Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境. Node.js 使用了一个事件驱动.非阻塞式 I/O 的模型 Node 是一个让 JavaScript 运行在服务端的开发平台,实质是对Chrome V8引擎进行了封装. 二.node优点 1.单线程 2.非阻塞IO 3.V8虚拟机 4.事件驱动 三.下载安装 1.下载node.js 打开官网下载链接https://nodejs.org/zh-cn/downlo

ElasticSearch笔记整理(二):CURL操作、ES插件、集群安装与核心概念

[TOC] CURL操作 CURL简介 curl是利用URL语法在命令行方式下工作的开源文件传输工具,使用curl可以简单实现常见的get/post请求.简单的认为是可以在命令行下面访问url的一个工具.在centos的默认库里面是有curl工具的,如果没有请yum安装即可. curl -X 指定http的请求方法 有HEAD GET POST PUT DELETE -d 指定要传输的数据 -H 指定http请求头信息 curl创建索引库 curl -XPUT http://<ip>:9200

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

[TOC] pom.xml 使用maven工程构建ES Java API的测试项目,其用到的依赖如下: <dependency> <groupId>org.elasticsearch</groupId> <artifactId>elasticsearch</artifactId> <version>2.3.0</version> </dependency> <dependency> <grou

pxe 简介以及 cobbler安装配置自动化

PXE(CentOS 6.7):准备环境: pxe简介: PXE(preboot execute environment,预启动执行环境)是由Intel公司开发的最新技术,工作于Client/Server的网络模式,支持工作站通过网络从远端服务器下载映像,并由此支持通过网络启动操作系统,在启动过程中,终端要求服务器分配IP地址,再用TFTP(trivial file transfer protocol)或MTFTP(multicast trivial file transfer protocol

elasticsearch系列一:elasticsearch(ES简介、安装&amp;配置、集成Ikanalyzer)

一.ES简介 1. ES是什么? Elasticsearch 是一个开源的搜索引擎,建立在全文搜索引擎库 Apache Lucene 基础之上 用 Java 编写的,它的内部使用 Lucene 做索引与搜索,但是它的目的是使全文检索变得简单, 通过隐藏 Lucene 的复杂性,取而代之的提供一套简单一致的 RESTful API. Elasticsearch 不仅仅只是一个全文搜索引擎. 它可以被下面这样准确的形容: 一个分布式的实时文档存储,每个字段可以被索引与搜索--作数据库用 一个分布式实

elasticsearch系列一elasticsearch(ES简介、安装&amp;配置、集成Ikanalyzer)

一.ES简介 1. ES是什么? Elasticsearch 是一个开源的搜索引擎,建立在全文搜索引擎库 Apache Lucene 基础之上 用 Java 编写的,它的内部使用 Lucene 做索引与搜索,但是它的目的是使全文检索变得简单, 通过隐藏 Lucene 的复杂性,取而代之的提供一套简单一致的 RESTful API. Elasticsearch 不仅仅只是一个全文搜索引擎. 它可以被下面这样准确的形容: 一个分布式的实时文档存储,每个字段可以被索引与搜索--作数据库用 一个分布式实

elk集群安装配置详解

#  一:简介 ``` Elasticsearch作为日志的存储和索引平台: Kibana 用来从 Elasticsearch获取数据,进行数据可视化,定制数据报表: Logstash 依靠强大繁多的插件作为日志加工平台: Filebeat 用来放到各个主机中收集指定位置的日志,将收集到日志发送到 Logstash: Log4j 直接与 Logstash 连接,将日志直接 Logstash(当然此处也可以用 Filebeat 收集 tomcat 的日志). ``` ####  port ```

window Redis安装配置

Redis官方并未发布任何windows版本的redis,但windows开源小组维护了一个Redis库 下载地址:https://github.com/MSOpenTech/redis/releases 二进制文件包安装配置方式同linux方式,简介压缩包文件安装配置 #解压压缩包至 d:/development/redis/ 目录 > cd /d d:/development/redis > redis-server --service-install redis.windows.conf

NFC学习笔记二——Libnfc简介与安装

一直想把自己对过的英文文章做一下翻译记录下来,趁着学习NFC,现将libnfc首页的对libnfc介绍和在不同操作系统上对libnfc安装的文章做一下翻译,一方面提高一下自己的英语,另一方面学习一下libnfc. 原文地址:http://nfc-tools.org/index.php?title=Libnfc 公共平台独立的近场通讯(NFC)库 libnfc是GNU公共许可正下发布的第一个免费的底层的NFC开发包和编程API.它对任何人事完全免费和公开的.这个列表显示了libnfc支持的功能.l