基于Lucene的Java搜索服务器Elasticsearch安装使用教程

一、安装Elasticsearch
Elasticsearch下载地址:http://www.elasticsearch.org/download/
·下载后直接解压,进入目录下的bin,在cmd下运行elasticsearch.bat 即可启动Elasticsearch
·用浏览器访问: http://localhost:9200/   ,如果出现类似如下结果则说明安装成功:

{
 "name" : "Benedict Kine",
 "cluster_name" : "elasticsearch",
 "version" : {
 "number" : "2.2.0",
 "build_hash" : "8ff36d139e16f8720f2947ef62c8167a888992fe",
 "build_timestamp" : "2016-01-27T13:32:39Z",
 "build_snapshot" : false,
 "lucene_version" : "5.4.1"
 },
 "tagline" : "You Know, for Search"
}

其中:
·name———Elasticsearch实例的名字,默认情况下它将从名字列表中随机选择一个,其设置是在config/elasticsearch.yml文件中;
·version———版本号,以json格式表示了一组信息,其中:
 number字段代表了当前运行Elasticserch的版本号;
 build_snashot字段代表了当前版本是否是从源代码构建而来;
 lucene_version表示Elasticsearch所基于的Lucene的版本;
·tagline———包含了Elasticsearch的第一个tagline:"You Know, for Search"。

二、RTF版本
初学者可以首先从Elastisearch的RTF版本入手。RTF是Ready To Fly的缩写,这是一个集成了基本插件(如服务封装、中文分词、mapper-attachments、transport-thrift、tools.carrot2等插件)的并带有示例程序的可以直接上手的建议工程版本。
下载地址: https://github.com/medcl/elasticsearch-rtf
解压后会看到其目录结构。Elasticsearch包含的主要文件夹及功能如下(以TF版本为例):
·bin--包含运行Elasticsearch实例和管理插件的一些脚本;
·config--主要是一些设置文件
·lib--包含一些相关的包文件;
·plugins--包含相关的插件文件等;
·logs--日志文件;
·data--Elasticsearch中存放数据的地方;
·works--临时文件。

三、插件介绍及安装
1.Head
Head是一个用来监控Elasticsearch状态的客户端插件。
安装:到bin目录下 plugin install mobz/elasticsearch-head
安装后再浏览器中输入: http://localhost:9200/_plugin/head/   ,会打开如下界面:

图中显示了一个节点Benedict Kine,每个节点拥有不同index的数据,Head提供了HTTP客户端。
2.Marvel
Marvel是Elasticsearch的图形化监控客户端,可以用来查看当前的各项状态。
安装:
marvel 是以 elasticsearch 的插件形式存在的,可以直接通过插件安装:

# ./bin/plugin -i elasticsearch/marvel/latest

如果你是从官网下载的安装包,则运行:

# ./bin/plugin -i marvel file:///path/to/marvel-latest.zip

运行:
在浏览器中输入:http://localhost:9200/_plugin/marvel/    ,会打开如下界面:

二、借助Head构建索引
启动Elasticsearch后,在浏览器中访问:http://localhost:9200/_plugin/head/  打开Head工具。
step1:
单击“新建索引”按钮来创建一个新的索引,在弹出框中输入索引名称,如下图所示。分片数为5依次为0,1,2,3,4。数据副本为1,

在概览中看到如下结果说明成功创建了索引。图中带有粗框的分片副本正是提供的数据副本,

step2:
在Head工具的“复合查询”(Any Request)标签下,打开“查询”(Query)选项,如下图所示。

  • 输入拟提交数据的索引文件名称(这里用刚刚建的索引文件名称myfirstindex)以及type(这里用share)、索引文档唯一标识符(即索引的id号,这里用1);
  • 选择操作方式,这是选择POST,POST为相当于INSERT;
  • 在文本框中输入拟添加的JSON数据;
  • 提交后,就会在索引文件myfirstindex的类型文件share中,写入指定信息。如出现右侧内容则标识写入成功。

三、查询索引

还是在复合查询标签下,选择GET操作类型(相当于SELECT),如下图,就可以看到该索引文件的详细信息。

四、操作说明
Elasticsearch的Head中用到了HTTP协议的4种请求方法,其中:

  • POST是向服务器提交数;
  • GET是发送一个请求来取得服务器上的某一资源;
  • PUT和POST都是向服务器发送数据,但PUT通常指定了资源的存放位置;
  • DELETE是用来删除服务器上的某个资源。

五、Mapping简述

Elasticsearch中的Mapping类似于静态语言中的数据类型。但是映像还有一些其他的含义,例如:执行一系列的指令,将输入的数据转成可搜索的索引项,使用映像可以查询类型文件的各个字段的信息。

六、信息检索
用户可以利用Head工具,通过HTTP传递参数的方式来构造一个简单的信息检索语句。如下图,指定在myfirstindex索引的share中,搜索字段为city_name其值为北京的检索请求构建方式。

图的右侧的hits中可以看到返回的结果,hits表示命中的检索集合,total表示命中2条记录,max_score是其评分。
URL构建查询语句时,_search表示搜索RESTful接口,q后代表查询条件,q后的=是基于Lucene语法的查询表达式。

(0)

相关推荐

  • 详解centos7虚拟机安装elasticsearch5.0.x-安装篇

    centos7虚拟机安装elasticsearch5.0.x-安装篇 请预先安装jdk详细步骤请参考:http://www.jb51.net/softjc/193398.html 创建新用户(非root用户) elasticsearch只能用非root启动,这里我创建了一个叫seven的用户 [root@localhost ~]# useradd seven [root@localhost ~]# passwd seven 下载elasticsearch [root@localhost ~]#

  • 详解spring中使用Elasticsearch的代码实现

    在使用Elasticsearch之前,先给大家聊一点干货. 1.      ES和solr都是作为全文搜索引擎出现的.都是基于Lucene的搜索服务器. 2.   ES不是可靠的存储系统,不是数据库,它有丢数据的风险. 3.  ES不是实时系统,数据写入成功只是trans log成功(类似于MySQL的bin log),写入成功后立刻查询查不到是正常的.因为数据此刻可能还在内存里而不是进入存储引擎里.同理,删除一条数据后也不是马上消失.写入何时可查询?ES内部有一个后台线程,定时将内存中的一批数

  • Elasticsearch.Net使用入门教程(1)

    本文实例为大家分享了Elasticsearch.Net使用教程,供大家参考,具体内容如下 首先去官网下载Elasticsearch 2.3.4安装包,解压后,在cmd命令行进入安装目录,再进入 bin目录,运行elasticsearch.bat命令. elasticsearch插件elasticsearch-head安装: bin目录下执行命令plugin -install mobz/elasticsearch-head 然后开始.net编程,构建控制台应用程序 Program.cs代码如下:

  • SpringBoot整合ElasticSearch实践

    本节我们基于一个发表文章的案例来说明SpringBoot如何elasticsearch集成.elasticsearch本身可以是一个独立的服务,也可以嵌入我们的web应用中,在本案例中,我们讲解如何将elasticsearch嵌入我们的应用中. 案例背景:每个文章(Article)都要属于一个教程(Tutorial),而且每个文章都要有一个作者(Author). 一.实体设计: Tutorial.java public class Tutorial implements Serializable

  • spring 操作elasticsearch查询使用方法

    最近学习了一下elasticsearch使用,网上的资料又很少,真是一个头两个大.好歹最后终于了解了.留个笔记做日后查询. package com.gooddeep.dev.elasticsearch.commons.dao; import java.util.ArrayList; import java.util.List; import java.util.Map; import org.elasticsearch.action.ActionFuture; import org.elasti

  • elasticsearch插件开发教程

    检索引擎Elasticsearch支持插件模式.有些时候你可能须要安装一些插件.甚至自己开发插件,这里就提供一个開始ES插件开发演示样例,ES版本号为1.5.2. 一.插件类继承自org.elasticsearch.plugins.AbstractPlugin package org.elasticsearch.plugin.helloworld; import java.util.ArrayList; import java.util.Collection; import java.util.

  • 安装ElasticSearch搜索工具并配置Python驱动的方法

    ElasticSearch是一个基于Lucene的搜索服务器.它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口.Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是第二流行的企业搜索引擎.设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便. 我们建立一个网站或应用程序,并要添加搜索功能,令我们受打击的是:搜索工作是很难的.我们希望我们的搜索解决方案要快,我们希望有一个零配置和一个完全免费的搜索模式,我们希望能够简单

  • 详解spring-boot集成elasticsearch及其简单应用

    介绍 记录将elasticsearch集成到spring boot的过程,以及一些简单的应用和helper类使用. 接入方式 使用spring-boot中的spring-data-elasticsearch,可以使用两种内置客户端接入 1.节点客户端(node client): 配置文件中设置为local:false,节点客户端以无数据节点(node-master或node-client)身份加入集群,换言之,它自己不存储任何数据,但是它知道数据在集群中的具体位置,并且能够直接转发请求到对应的节

  • centos下root运行Elasticsearch异常问题解决

     在CentOS 6.5 上运行Elasticsearch 2.3,异常如下: Exception in thread "main" java.lang.RuntimeException: don't run elasticsearch as root. at org.elasticsearch.bootstrap.Bootstrap.initializeNatives(Bootstrap.java:93) at org.elasticsearch.bootstrap.Bootstra

  • Elasticsearch.Net使用教程 MVC4图书管理系统(2)

    本文实例为大家分享了MVC4图书管理系统的制作教程,供大家参考,具体内容如下 首先项目结构图: Model层的相关代码如下: Book.cs代码如下: public class Book { [Key] [DatabaseGenerated(DatabaseGeneratedOption.Identity)] public Guid Id { get; set; } [MaxLength(500)] [Display(Name = "标题")] public string Title

随机推荐