关键词:
为了研究elasticsearch的源码,可以从github下载源码,到本地编译,但这种方法比较麻烦。
我是采用eclipse构建maven项目,在pom文件中引用elasticsearch的jar包的方式来搭建源码阅读的环境。
搭建
因为我搭建的es集群是2.2.1版本(关于如何搭建集群,可以参考ElasticSearch 分布式安装及调优 ,所以选用的elasticsearch也是2.2.1版本,maven依赖如下:
<dependency>
<groupId>org.elasticsearch</groupId>
<artifactId>elasticsearch</artifactId>
<version>2.2.1</version>
</dependency>
如果集群版本不一样,也可以到maven仓库选择其他版本。
创建客户端
为了跟集群通信,首先需要创建客户端,在这里,我使用了TransportCllient,参照官方文档,我对其进行了封装,方便后续使用,具体代码如下:
package es;
import java.net.InetAddress;
import java.net.UnknownHostException;
import org.elasticsearch.client.transport.TransportClient;
import org.elasticsearch.common.settings.Settings;
import org.elasticsearch.common.transport.InetSocketTransportAddress;
public class MyTransportClient
private TransportClient transportClient;
private static MyTransportClient clientInstance;
private MyTransportClient()
/**
* 设置
*/
Settings settings = Settings.settingsBuilder()
.put("cluster.name","qiaqia")//我的集群名
.put("client.transport.sniff",true)
.build();
try
transportClient = TransportClient.builder().settings(settings).build()
.addTransportAddress(new InetSocketTransportAddress(InetAddress.getByName("192.168.0.4"), 9300));
catch (UnknownHostException e)
e.printStackTrace();
/*
* 单例
*/
public static MyTransportClient getInstance()
if(clientInstance==null)
clientInstance = new MyTransportClient();
return clientInstance;
public TransportClient getTransportClient()
return transportClient;
在集群中索引一条数据
命令行执行:
curl -XPUT 'http://192.168.0.4:9200/library/book/1?pretty' -d '
"title":"mastering elasticsearch"'
得到
"_index" : "library",
"_type" : "book",
"_id" : "1",
"_version" : 1,
"_shards" :
"total" : 2,
"successful" : 2,
"failed" : 0
,
"created" : true
通过客户端获取es中的索引数据
package es;
import org.elasticsearch.action.get.GetResponse;
import org.elasticsearch.client.transport.TransportClient;
public class MyClientTest
public static void main(String[] args)
TransportClient client = MyTransportClient.getInstance().getTransportClient();
//get document
GetResponse response = client.prepareGet("library","book","1").get();
System.out.println(response.getSourceAsString());
测试
执行MyClientTest,console输出以下信息:
四月 13, 2016 1:46:29 下午 org.elasticsearch.plugins.PluginsService <init>
信息: [Termagaira] modules [], plugins [], sites []
"title":"mastering elasticsearch"
表明客户端连接成功并且能正确获取es集群的数据。
在eclipse 的 maven Dependences
里面,可以查看相关的类的源码。
深入elasticsearch源码之索引过程(代码片段)
调用es2..2.1的javaApi在ES集群中索引一个文档客户端大致流程:使用XContentBuilder构建索引的json串,也可直接用json字符串使用TransportClient连接ES集群发送索引到集群并获取IndexResponse测试代码如下:packageindex;importjava.io.IOExc... 查看详情
springioc源码深入剖析预备知识(代码片段)
目录1Spring源码环境编译与构建1.1自动化构建gradle介绍1.2源码环境搭建与编译2构建gradle源码测试项目2.1开始搭建测试项目3Spring基本概念回顾3.1Spring中的基本概念3.2SpringAOP和AspectJ4.3设计模式之责任链4ioC用到的那些设计模式4.1设计... 查看详情
elasticsearch源码本地环境搭建
...:1、资源准备ElasicSearch版本:6.0.0:https://github.com/elastic/elasticsearch安装jdk(jdk1.8以上,本人用的是1.8.0_131)安装gradle(3.3以上,本人用的是4.3.1)需要安装环境变量网上有好多,下载地址h 查看详情
elasticsearch实战三部曲之三:搜索操作(代码片段)
欢迎访问我的GitHub本文是《elasticsearch实战三部曲》的终篇,作为elasticsearch的核心功能,搜索的重要性不言而喻,今天的实战都会围绕搜索展开;环境信息本次实战用到的elasticsearch版本是6.5.4,安装在Ubuntu16.04.5LTS,客户端工具是... 查看详情
elasticsearch使用指南之初始环境搭建
Elasticsearch使用指南之初始环境搭建Elastic系列要求所有软件版本号必须一致本文使用Windows下的Elastic8.4.3系列下载elasticsearchv8.4.3//es引擎主体kibanav8.4.3//es官方可视化管理工具analysis-ikv8.4.3//ik分词器,涉及中文搜索必须装个中文... 查看详情
elk学习笔记之elasticsearch环境搭建
ELK概述:ElasticSearch是个开源分布式搜索引擎,它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载等Logstash是一个完全开源的工具,它可以对你的日志进行收集、... 查看详情
java操作elasticsearch之搭建测试项目环境
在创建项目之前请确认maven是否安装好,在此我是以环境都搭建好的情况下进行示范,现在以eclipse开发工具为例,具体操作如下:1、创建maven项目File-new-other 2、在pom文件中导入对应的jar包坐标在此我没有添加log4j等坐标,需... 查看详情
elasticsearch入门到放弃之elasticsearch-head(代码片段)
elasticsearch-head可理解为跟DBeaver一样是一个数据可视化工具,但是这个工具并没有理想中那么好用坑也是很多,我已经在我的github上fork了一份修改后的版本:https://github.com/zhaoyunxing92/elasticsearch-head系列文章elasticsearch入门到放弃之... 查看详情
elasticsearch集群环境搭建(代码片段)
一、环境说明搭建一个三个节点的集群环境,模拟搭建为了方便在一台机器上搭建,需要3G以上的内存节点#192.168.200.136安装elasticsearch集群elasticsearch0:192.168.200.136:9200elasticsearch1:192.168.200.136:9201elasticsearch2: 查看详情
elasticsearch集群环境搭建(代码片段)
一、环境说明搭建一个三个节点的集群环境,模拟搭建为了方便在一台机器上搭建,需要3G以上的内存节点#192.168.200.136安装elasticsearch集群elasticsearch0:192.168.200.136:9200elasticsearch1:192.168.200.136:9201elasticsearch2: 查看详情
elasticsearch实战-elasticsearch集群环境搭建(代码片段)
本篇的ES集群是基于 ElasticSearch实战(一)-ElasticSearch单机环境搭建 的配置来做的,如果你还没有完成第一篇ES单机环境的部署,不建议阅读本文。一、准备工作 三台服务器配置信息,如下所... 查看详情
elasticsearch6.1.2源码下载和编译构建(代码片段)
欢迎访问我的GitHub本篇概览为了深入学习elasticsearch,研究其源码是种有效途径,本文简述了从下载到编译构建再运行起来的全部过程;环境信息操作系统:Ubuntu18.04.2LTSJDK:1.8.0_191Gradle:4.6elasticsearch:6.1.2请确保JDK和Gradle已安装... 查看详情
elasticsearch探索之路实战:环境搭建restcrudsearch(代码片段)
文章目录环境搭建搭建Elasticsearch环境搭建Kibana环境基本操作RESTfulCRUD创建索引插入文档查询文档更新文档删除文档和索引Search查询方式URL+参数URL+QueryDSLmatch匹配match匹配查询match_all全部匹配match_phase短语匹配multi_match多字段... 查看详情
elasticsearch探索之路实战:环境搭建restcrudsearch(代码片段)
文章目录环境搭建搭建Elasticsearch环境搭建Kibana环境基本操作RESTfulCRUD创建索引插入文档查询文档更新文档删除文档和索引Search查询方式URL+参数URL+QueryDSLmatch匹配match匹配查询match_all全部匹配match_phase短语匹配multi_match多字段... 查看详情
elasticsearch探索之路实战:环境搭建restcrudsearch(代码片段)
文章目录环境搭建搭建Elasticsearch环境搭建Kibana环境基本操作RESTfulCRUD创建索引插入文档查询文档更新文档删除文档和索引Search查询方式URL+参数URL+QueryDSLmatch匹配match匹配查询match_all全部匹配match_phase短语匹配multi_match多字段... 查看详情
mybatis源码分析之01环境搭建
直接使用maven搭建一个mybatis的运行环境1. pom.xml<?xmlversion="1.0"encoding="UTF-8"?><projectxmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLoc 查看详情
01go之环境搭建(代码片段)
1.1Linux搭建Go环境 1.ssh远程登录Linux服务器,可选用iTerm、xshell1ssh[email protected] 2.建议配置好阿里云yum源、epel源1安装git23yuminstallgit 3.下载go源码包1//下载地址go官网https://golang.org/dl/2cd/opt/3wgethttps://dl.google.com/go/ 查看详情
玩转elasticsearch之服务集群搭建实例(代码片段)
...集群部署部署镜像安装cerebro测试前言没什么就是来玩玩ElasticSearch来look。顺便记录一下,就非常nice,顺便放松一下,水一篇博客~。环境阿里云centos82核8G连接工具FinalShell这个是非常干净的服务器,咱们刚刚创建的... 查看详情