Elasticsearch Java API 客户端连接 一个是TransportClient,一个是NodeClient,还有一个XPackTransportClient TransportClient: 作为一个外部访问者,请求ES的集群,对于集群而言,它是一个外部因素. NodeClient 作为ES集群的一个节点,它是ES中的一环,其他的节点对它是感知的. XPackTransportClient: 服务安装了 x-pack 插件 重要:客户端版本应该和服务端版本保持一致 Transpo…
一.ES Client 简介 1. ES是一个服务,采用C/S结构 2. 回顾 ES的架构 3. ES支持的客户端连接方式 3.1 REST API ,端口 9200 这种连接方式对应于架构图中的RESTful style API这一层,这种客户端的连接方式是RESTful风格的,使用http的方式进行连接 3.2 Transport 连接 端口 9300 这种连接方式对应于架构图中的Transport这一层,这种客户端连接方式是直接连接ES的节点,使用TCP的方式进行连接 4. ES提供了多种…
Spring Data Elasticsearch是Spring Data项目下的一个子模块. 查看 Spring Data的官网:http://projects.spring.io/spring-data/ Spring Data的使命是为数据访问提供熟悉且一致的基于Spring的编程模型,同时仍保留底层数据存储的特殊特性. 它使得使用数据访问技术,关系数据库和非关系数据库,map-reduce框架和基于云的数据服务变得容易.这是一个总括项目,其中包含许多特定于给定数据库的子项目.这些令人兴奋…
elasticsearch系列七:ES Java客户端-Elasticsearch Java client(ES Client 简介.Java REST Client.Java Client.Spring Data Elasticsearch) 一.ES Client 简介 1. ES是一个服务,采用C/S结构 2. 回顾 ES的架构 3. ES支持的客户端连接方式 3.1 REST API ,端口 9200 这种连接方式对应于架构图中的RESTful style API这一层,这种客户端的连接…
很久之前就安装了elasticsearch,一直没用java用过,最近看了一下spring data系列的elasticsearch,这里写一篇心得. 如果尚未安装elasticsearch,可以 参考https://www.cnblogs.com/shaozm/p/8732842.html这篇文章. 一 .原生写法 连接客户端 先谈谈原生的写法, private TransportClient client; public TransportClient getClient(){ Settin…
Spring Boot + Spring Data + Elasticsearch实例 学习了:https://blog.csdn.net/huangshulang1234/article/details/78986033  springboot 1.5.1,es 2.4.4 学习了:https://www.jianshu.com/p/35f9f867f48f SpringData3.x以及SpringBoot2集成Elasticsearch5.x https://blog.csdn.net/l…
elasticsearch 自定义分词器 安装拼音分词器.ik分词器 拼音分词器: https://github.com/medcl/elasticsearch-analysis-pinyin/releases ik分词器:https://github.com/medcl/elasticsearch-analysis-ik/releases 下载源码需要使用maven打包 下载构建好的压缩包解压后放直接在elasticsearch安装目录下 plugins文件夹下,可以重命名 1.在es中设置分…
How to provide highlighting with Spring data elasticsearch @Test public void shouldReturnHighlightedFieldsForGivenQueryAndFields() { //given String documentId = randomNumeric(5); String actualMessage = "some test message"; String highlightedMess…
ES支持SpringBoot使用类似于Spring Data Jpa的方式查询,使得查询更加方便. 1.依赖引入 compile “org.springframework.boot:spring-boot-starter-data-elasticsearch:2.1.7.RELEASE” compile “org.elasticsearch.plugin:transport-netty3-client:5.6.10” 2.文件配置 yal文件 spring: data: elasticsearc…
Elasticsearch提供的Java客户端有一些不太方便的地方: 很多地方需要拼接Json字符串,在java中拼接字符串有多恐怖你应该懂的 需要自己把对象序列化为json存储 查询到结果也需要自己反序列化为对象 因此,我们这里就不讲解原生的Elasticsearch客户端API了. 而是学习Spring提供的套件:Spring Data Elasticsearch. 1.简介 Spring Data Elasticsearch是Spring Data项目下的一个子模块. Spring Dat…
Spring Data Elasticsearch提供了ElasticsearchTemplate工具类,实现了POJO与elasticsearch文档之间的映射 elasticsearch本质也是存储数据,它不支持事物,但是它的速度远比数据库快得多, 可以这样来对比elasticsearch和数据库 索引(indices)--------数据库(databases) 类型(type)------------数据表(table) 文档(Document)---------------- 行(ro…
在前一篇博文中,创建了Spring Data Elasticsearch工程,并且进行了简单的测试,此处对Spring Data Elasticsearch进行增删改查的操作. 1.增加 在之前工程的基础上,接着向Elasticsearch集群中多加入几组文档: 在测试文件类 SpringDataElasticSearchTest  中添加加入的文档数据,依次执行: package com.Aiden.Test; import com.Aiden.domain.Film; import com.…
1.环境准备 我本地使用的环境为: 虚拟机版本:Centos 7.3 两台   IP 分别为:192.168.56.12, 192.168.56.13 Elasticsearch版本:6.4.0  (已安装IK分词器) 虚拟机中JDK版本:12.0.1 宿主机系统:Windows 10 宿主机JDK版本:1.8 Idea版本: 2019.1.3 2.创建工程 1).在Idea中创建一个Maven工程,并导入Spring Data Elasticsearch依赖.    Spring Data E…
目录 1. 创建工程 2. 配置application.yaml文件 3. 实体类及注解 4. 测试创建索引 5. 增删改操作 5.1增加 5.2 修改(id存在就是修改,否则就是插入) 5.3 批量新增 5.4 删除操作 5.5 根据id查询 5.6 查询全部,并按照价格降序排序 6. 自定义方法 7. 高级查询 7.1.基本查询 7.2 自定义查询 7.3 分页查询 7.4 排序 8. 聚合 8.1 聚合为桶 8.2 嵌套聚合,求平均值 Spring Data Elasticsearch是S…
https://www.jianshu.com/p/27e1d583aafb 翻译自官方文档英文版,有删减. BioMed Central Development Team version 2.1.3.RELEASE, 2017-04-19 Copies of this document may be made for your own use and for distribution to others, provided that you do not charge any fee for…
Spring Data Elasticsearch 是spring data对elasticsearch进行的封装. 这里有两种方式操作elasticsearch: 1.使用ElasticsearchRepository,即可使用内部封装好的API,这种方式类似spring data jpa.的MongoDB 2.在项目中使用@Autowired注入ElasticsearchTemplate,然后完成相应操作. 1.使用ElasticsearchRepository方式 1)导入依赖 <depe…
一.原生java整合elasticsearch的API地址 https://www.elastic.co/guide/en/elasticsearch/client/java-api/6.2/java-docs.html 二.Spring Data的官网 http://projects.spring.io/spring-data/ Spring Data 是的使命是给各种数据访问提供统一的编程接口,不管是关系型数据库(如MySQL),还是非关系数据库(如Redis),或者类似Elasticsea…
使用Spring Data ElasticSearch+Jsoup操作集群数据存储 1.使用Jsoup爬取京东商城的商品数据 1)获取商品名称.价格以及商品地址,并封装为一个Product对象,代码截图: 2)创建Product实体类,完成对索引.类型.映射以及文档的配置,代码截图: 3)将爬取到的商品对象存储到集群中,代码截图: 4)完成对商品信息的查询.分页.删除和更新操作,代码截图: applicationContext.xml 1 <?xml version="1.0"…
1.什么是Spring Data Spring Data是一个用于简化数据库访问,并支持云服务的开源框架.其主要目标是使得对数据的访问变得方便快捷,并支持map-reduce框架和云计算数据服务. Spring Data可以极大的简化JPA的写法,可以在几乎不用写实现的情况下,实现对数据的访问和操作.除了CRUD外,还包括如分页.排序等一些常用的功能. 2.什么是Spring Data ElasticSearch Spring Data ElasticSearch 基于 spring data…
我不敢说俺的方法是最佳方案,反正这世界上很多东西都是变动的,正像老子所说的——“反(返)者,道之动”.以往看到有些文章中说,为每个客户端安装证书嫌麻烦,就直接采用把用户名和密码塞在SOAP头中发送,然后在服务器端自定义一个消息拦截器来验证用户名和密码. 以老周不靠谱的学识水平认为,这样做不好,直接把明文而且敏感信息放在SOAP头中传输,这尺度实在太大了,太暴露了,广电局是不会允许的,虽然现在流行穿得越少越好,但那些是婊子的境界.像用户名密码这些重要信息,怎么能直接传输呢,这很容易被偷窥的. 其实…
案例下载 http://download.csdn.net/detail/woxpp/4113172 客户端调用代码 通过代理类 代理生成 参见 http://www.cnblogs.com/woxpp/p/6232298.html X509证书创建 http://www.cnblogs.com/woxpp/p/6232325.html 自定义用户名密码验证需要证书的支持 服务器端配置代码 <system.serviceModel> <services> <service n…
OpenVPN推荐使用证书进行认证,安全性很高,但是配置起来很麻烦.还好它也能像pptp等vpn一样使用用户名/密码进行认证. 不管何种认证方式,服务端的ca.crt, server.crt, server.key, dh1024.pem这四个证书都是要的.使用username/passwd 方式,你需要在服务器配置文件中加入以下语句,取消客户端的证书认证: client-cert-not-required 然后加入auth-user-pass-verify,开启用户密码脚本: auth-use…
本文摘自 http://www.cnblogs.com/virusswb/archive/2010/01/26/1656543.html 在昨天的博文Silverlight3+wcf+在不使用证书的情况下自定义用户名密码验证 中提到了,我想实现的安全效果,就是客户端访问的时候不需要https,也不需要安装证书(商业证书客户端会自动信任),但是暴露的wcf接口不是每个人可以调用的,因为sl+wcf只支持basicHttpBinding一种绑定,在这种绑定下面其实是可以不适用传输安全,然后消息安全选…
原文:WebService 用户名密码验证 在项目开发的过程中,WebService是经常要用的,当调用WebService方法时,需要经过服务的验证才可以调用,一般就是用户名/密码验证,还有一个就是证书.下面程序使用的是用户名/密码的方式,很简单的一个程序. 项目截图: 先看服务端的代码(ws_Service) MySoapHeader.cs   这里通过继承SoapHeader实现对用户名/密码的验证 public class MySoapHeader:System.Web.Services…
选择netTcpBinding WCF的绑定方式比较多,常用的大体有四种: wsHttpBinding basicHttpBinding netTcpBinding wsDualHttpBinding 这四种绑定方式中,有两种支持双工通信: wsDualHttpBinding netTcpBinding 在我目前的参与的项目中,考虑到产品面临的环境基本是内网,而且对数据传输效率比较高,可能会有大数据量的传输和频繁的服务访问,并且在项目中涉及到了即时消息模块,需要WCF双工通信支持,我们选用了ne…
WCF使用用户名密码验证 服务契约 namespace WCFUserNameConstract { [ServiceContract] public interface IWcfContract { [OperationContract] bool GetOnWcfService(ref string MessageInfo); } } 服务实现 namespace WcfUserNameService { public class WcfUserNameService : IWcfContr…
目前wcf分为[传输层安全][消息层安全]两种,本身也自带的用户名密码验证的功能,但是ms为了防止用户名密码明文在网络上传输,所以,强制要求一旦使用[用户名密码]校验功能,则必须使用证书,按照常理讲,这是对的,但是我们的环境特殊.由于处于各级的路由器之下,加上ssl的性能问题,我们通过统一的网关进行ssl处理,也就是说,客户端到路由之间走的是https,而路由到我们的服务器之间走的则是http,这样使得证书集中管理,性能也有所提升.但是,却用不了wcf自己的[用户名密码校验]功能. 经过在网上找…
项目清单   elasticsearch服务下载包括其中插件和分词   http://download.csdn.net/detail/u014201191/8809619   项目源码   资源文件   app.properties elasticsearch.esNodes=localhost:9300 elasticsearch.cluster.name=heroscluster app.xml <?xml version="1.0" encoding="UTF-…
/**步骤:创建工程,导入相应的包--->配置文件---->创建实体类对象------>创建接口---->测试增删改查的方法 **/ //步骤:创建工程,导入相应的包 <dependencies> <dependency> <groupId>org.elasticsearch</groupId> <artifactId>elasticsearch</artifactId> <version>5.6.…
1.引入maven坐标 <!--spring-data-elasticsearch--><dependency> <groupId>org.springframework.data</groupId> <artifactId>spring-data-elasticsearch</artifactId> <version>3.0.5.RELEASE</version> <exclusions> <…