elk
PolarisHuster
java程序员,爱编程爱运动,也喜欢结交朋友
展开
-
elasticsearch实现类似京东的商品搜索效果(elasticsearch动态聚合)
用到京东的对其搜索应该不会陌生,其搜索也是使用elasticsearch完成的,下图为一个搜索效果图:搜索筛选条件会根据查询返回的结果动态变化,要实现这个功能就要用到elasticsearch的聚合功能,先看下商品索引对应的映射:{ "mapping": { "es-product": { "dynamic_templates": [ {...原创 2020-04-10 14:58:40 · 1761 阅读 · 1 评论 -
spring-data-elasticsearch @Field注解中analyzer无效的解决方案
环境:1、es 6.82、spring-boot-starter-data-elasticsearch 2.2.5 Release之所以使用映射文件是因为@Field注解中的analyzer无效,跟踪了下代码发现使用spring-data-elasticsearch在创建es实体类对应的elasticsearch映射时根本就没有使用@Field注解中的内容,包括名字!!!最后的...原创 2020-04-08 09:49:52 · 7194 阅读 · 6 评论 -
spring-data-elasticsearch使用
spring框架操作elasticsearch可以有很方法,1、使用原始的客户端比如RestHighLevelClient(es官方提供并推荐的)、Jest等2、使用spring data elasticsearch模块本文讲述的是spring data elasticsearch的应用,应该这种使用方式对于使用过jpa的开发人员来说,入门门槛很低,简单的搜索查询完全可以胜任。本文...原创 2020-03-12 13:37:06 · 1718 阅读 · 0 评论 -
一些被elasticsearch高版本废弃的配置(index.merge.policy.type等)
elasticsearch近来年越来越受欢迎,es与solr相比,笔者觉得最大的推荐之处就是使用的简易型以及丰富的生态圈,从es release历史来看,18-19年间发布了很多新的版本入门es的一部不错的书籍,笔者推荐《elasticsearch实战》,不好的一点是该书基于的es版本较低,好像是1.4版本,但是随着es版本的迭代,一些配置就在新版本中删除了,所以在使用es api编程时要注意...原创 2019-11-21 17:03:13 · 1749 阅读 · 0 评论 -
elasticsearch分页获取数据
提到elasticsearch分页,可能首先想到的是类似mysql的那种处理方式,传入分页起始值以及每页数据量,es确实提供了类似的处理策略,代码如下: @Test public void searchFromSize() throws IOException{ SearchRequest searchRequest = new SearchRequest("sub_bank1120"...原创 2019-11-20 16:57:00 · 4789 阅读 · 0 评论 -
elasticsearch term检索需要注意的地方
term检索不同于全文检索的地方是,term检索搜索的关键词将不会进行分析处理,会根据输入的搜索词直接进行去lucene倒排索引里面去比对,我们都知道数据在检索时会对要索引的token进行分析处理,其中就包括调用lucene的LowerCaseFilter将token进行小写处理,所以下面使用bankType进行term类型搜索时传入大写的BOC肯定是查找不到数据的,如果要使用term搜索...原创 2019-11-20 16:27:14 · 503 阅读 · 0 评论 -
RestHighLevelClient批量删除满足某些条件的数据
这个可以通过DeleteByQueryRequest来实现,实例代码如下 /** * 批量删除文档 * @throws IOException */ @Test public void deleteByQueryRequest() throws IOException { DeleteByQueryRequest request = new DeleteByQueryRe...原创 2019-11-19 17:06:00 · 10745 阅读 · 9 评论 -
elasticsearch之UpdateByQueryRequest
如果更新一条文档,而且知道文档id的前提下可以使用UpdateRequest即可实现,代码如下: /** * 根据文档id更新 * @throws IOException */ @Test public void test() throws IOException { UpdateRequest request = new UpdateRequest("sub_bank1...原创 2019-11-19 16:51:29 · 16161 阅读 · 5 评论 -
RestHighLevelClient一次查询多个条件
就像bulk在多文档索引时提高效率一样,msearch也能提升多个查询的执行效率,这里主要考虑到网络消耗,使用search查询可能要循环执行N遍,但是使用msearch一次从客户端一次客户请求即可。下面给出实例代码: @Test public void testMultiSearch(){ MultiSearchRequest request = new MultiSearchRequ...原创 2019-11-18 18:26:46 · 15043 阅读 · 0 评论 -
elasticsearch composite聚合
composite聚合类似于mysql的多字段group by,比如要按月以及所属门店两个维护来统计每个月的收益,如果用mysql来实现的话类似select count(commissionamount) from xxx_tablegroup bytimeperiod,orgId等价的elasticsearch可以用嵌套聚合来实现:{ "size": 0,...原创 2019-11-12 17:13:07 · 2439 阅读 · 0 评论 -
将ip转换为地理位置存入elasticsearch
有些需要将一些数据基于地址位置进行分析,比如哪些区域比较活跃,在什么时间范围内活跃,但是后端仅能获取ip地址,因此需要将ip地址转换为地理位置,幸运的是我们有开源的工具可以使用,maxmind/GeoIP2-java使用GeoLite2-City.mmdb库就可以由ip分析得到对应的经纬度,下面给出具体操作步骤:1、从https://dev.maxmind.com/geoip/geoip2/g...原创 2019-11-08 14:39:51 · 1558 阅读 · 0 评论 -
elasticsearch5.x以后版本引入中文分词器
由于elasticsearch自带的分析器(analyzer)对中文分析效果无法达到中国地区的需求,幸运的是我们可以使用elasticsearch-analysis-ik来插件来完善elasticsearch对中文的处理能力。看下分词效果,待分析文本为:中华人民共和国解放军hello使用elasticsearch自带的standard分析器:ik分析器分词效果:...原创 2019-11-06 18:40:32 · 397 阅读 · 0 评论 -
elasticsearch持久化变更
如果没有用fsync把数据从文件系统缓存刷(flush)到硬盘,我们不能保证数据在断电甚至是程序正常退出之后依然存在。为了保证 Elasticsearch 的可靠性,需要确保数据变化被持久化到磁盘。在动态更新索引,我们说一次完整的提交会将段刷到磁盘,并写入一个包含所有段列表的提交点。Elasticsearch 在启动或重新打开一个索引的过程中使用这个提交点来判断哪些段隶属于当前分片。...转载 2019-10-30 15:51:50 · 606 阅读 · 0 评论 -
elasticsearch查询某个索引分片信息
elasticsearch6.8通过下面的路径可以查询elasticsearch某个索引分片信息http://xx.xx.xx.xx:9200/索引名称/_search_shards{ "nodes": { "Q6i1duFYQLmJFIu812DQjQ": { "name": "node1", "ephemera...原创 2019-10-30 14:24:51 · 21315 阅读 · 2 评论 -
prometheus监控elasticsearch环境搭建
本文涉及到的docker项目均采用docker-compose部署1、部署prometheus、grafanaversion: '3'services: prometheus: image: prom/prometheus container_name: prometheus hostname: prometheus ...原创 2019-10-23 17:57:59 · 1312 阅读 · 0 评论 -
efk收集docker nginx日志
1、部署efkefk需要用到elasticsearch、fluentd以及kibana,nginx使用fluentd日志驱动将nginx docker日志转发到对应fluentd server端,fluentd server端将日志加工后传递到elasticsearch,存储到elasticsearch的数据就可以使用kibana展示出来。2、部署ek环境,version: "3"...原创 2019-10-21 16:02:23 · 787 阅读 · 0 评论 -
构建fluentd镜像将收集的日志发送到elasticsearch
构建脚本:version: "3"services: fluentd: build: ./fluentd volumes: - ./fluentd/conf:/fluentd/etc privileged: true ports: - "24224:24224" - "24224:24224/udp" envi...原创 2019-10-21 16:02:04 · 972 阅读 · 1 评论 -
Error reading manifest file manifest.yml must be owned by the beat user (uid=0) or root
Error reading manifest file manifest.yml must be owned by the beat user (uid=0) or root原创 2017-11-19 11:58:18 · 4324 阅读 · 0 评论 -
学习elk很好的网站
学习elk很好的网站原创 2017-12-08 16:02:29 · 390 阅读 · 0 评论 -
logstash插件参数类型
logstash插件参数类型原创 2017-12-08 17:30:48 · 380 阅读 · 0 评论 -
ime with the \"acknowledge=true\" parameter:","watcher":["Watcher will be disabled"
ime with the \"acknowledge=true\" parameter:","watcher":["Watcher will be disabled"原创 2017-11-22 13:19:36 · 1121 阅读 · 2 评论 -
ElasticSearch的工作机制
ElasticSearch的工作机制转载 2017-11-22 14:39:35 · 292 阅读 · 0 评论 -
springcloud集成elk
springcloud是一个应用很广的微服务全家桶,阿里开发了自己的springcloud alibaba分支,elk是一款不错的监控工具,尤其是日志分析,可以将springcloud微服务项目的日志通过logstash-logback-encoder传送到elk的logstash上,好了废话不多少了,直接进入环境搭建流程:1.使用docker-compose搭建elk环境,docker-co...原创 2019-08-20 15:43:41 · 3834 阅读 · 0 评论 -
虚拟机centos里的elasticsearch外部主机访问不到
虚拟机centos里的elasticsearch外部主机访问不到原创 2017-11-17 10:30:34 · 6272 阅读 · 1 评论