基于Elasticsearch开发时的注意事项备忘
记录一些自己在Elasticsearch开发过程的琐碎知识点
1、使用ScriptFields时,需在yml配置文件中添加配置(script.disable_dynamic: false)开启动态脚本支持,好像是从某个版本以上才需要,反正我用的1.5.2是需要这个配置的。
2、创建索引时,适当调整mapping设置,提高索引效率,如关闭副本,创建完索引后重新设置副本数量即可:NumberOfReplicas(0)
3、创建索引时,批量提交数据,可以大大提高索引效率,如:BulkIndexOperation
4、只需要查询记录条数的时候,添加参数:search_type=count ,Nest中是SearchType.Count。只返回记录条数,不返回具体数据,提高查询性能
5、Elasticsearch配置LDAP身份认证(searchguard)后,请求时需传入用户身份信息,实现方式:
curl请求:curl -XGET -u用户名:密码 192.168.xx.xx:9200
Http请求(Nested):http://用户名:密码@192.168.xx.xx:9200
6、部署linux机器,调整系统同时打开的文件数量:ulimit -n 65536(只针对当前会话生效);
永久生效:vi /etc/security/limits.conf
* soft nproc 65536
* hard nproc 65536
* soft nofile 65536
* hard nofile 65536
7、可适当调整Elasticsearch线程池大小
官方文档:https://www.elastic.co/guide/en/elasticsearch/reference/current/modules-threadpool.html
查看当前线程池配置:http://192.168.xxx.xxx:9200/_nodes/thread_pool/
调整原因:Elasticsearch供search的默认线程池数量为1000,当出现大GC导致search请求阻塞时,会导致线程池不足,进而拒绝请求,导致前端请求堆积。异常信息如下:
org.elasticsearch.search.action.SearchServiceTransportAction
8、Elasticsearch各版本发版记录:https://www.elastic.co/guide/en/elasticsearch/reference/current/es-release-notes.html
关注Elasticsearch各版本升级所发生的变化,提供的新功能等
9、使用GeoPoint地理检索时,赋值时需注意,Latitude代表纬度,Longitude代表经度,百度地图中获取到的坐标一般是(经度,纬度),传入值错误的话,在1.5.2版本中系统没有报错,未做经度和纬度值的有效性校验,在ES2.x版本,默认会做数据校验,经度有效数据范围为[-180,180],纬度有效数据范围为[-90,90]
基于Elasticsearch开发时的注意事项备忘的更多相关文章
- 基于Prism.Windows的UWP开发备忘
以前做UWP开发都是使用MvvmLight,主要是简单易上手,同时也写了很多MvvmLight的开发系列文章: UWP开发必备以及常用知识点总结 UWP开发之Mvvmlight实践九:基于MVVM的项 ...
- 基于.net开发chrome核心浏览器
本文转载自:http://www.cnblogs.com/liulun/archive/2013/04/20/3031502.html 一: 上一篇的链接: 基于.net开发chrome核心浏览器[一 ...
- Socket网络通讯开发总结之:Java 与 C进行Socket通讯 + [备忘] Java和C之间的通讯
Socket网络通讯开发总结之:Java 与 C进行Socket通讯 http://blog.sina.com.cn/s/blog_55934df80100i55l.html (2010-04-08 ...
- 基于.net开发chrome核心浏览器【二】
原文:基于.net开发chrome核心浏览器[二] 一: 上一篇的链接: 基于.net开发chrome核心浏览器[一] 二: 相关资源介绍: chrome Frame: 让IE有一颗chrome的心, ...
- [原创]基于SpringAOP开发的方法调用链分析框架
新人熟悉项目必备工具!基于SpringAOP开发的一款方法调用链分析插件,简单到只需要一个注解,异步非阻塞,完美嵌入Spring Cloud.Dubbo项目!再也不用担心搞不懂项目! 很多新人进入一家 ...
- ElasticSearch 启动时加载 Analyzer 源码分析
ElasticSearch 启动时加载 Analyzer 源码分析 本文介绍 ElasticSearch启动时如何创建.加载Analyzer,主要的参考资料是Lucene中关于Analyzer官方文档 ...
- 基于线程开发一个FTP服务器
一,项目题目:基于线程开发一个FTP服务器 二,项目要求: 基本要求: 1.用户加密认证 2.允许同时多用户登录 3.每个用户有自己的家目录 ,且只能访问自己的家目录 4.对用户进行磁盘配 ...
- Elasticsearch snapshot 备份的使用方法 【备忘】
常见的数据库都会提供备份的机制,以解决在数据库无法使用的情况下,可以开启新的实例,然后通过备份来恢复数据减少损失.虽然 Elasticsearch 有良好的容灾性,但由于以下原因,其依然需要备份机制. ...
- 基于uFUN开发板的心率计(二)动态阈值算法获取心率值
前言 上一篇文章:基于uFUN开发板的心率计(一)DMA方式获取传感器数据,介绍了如何获取PulseSensor心率传感器的电压值,并对硬件电路进行了计算分析.心率计,重要的是要获取到心率值,本篇文章 ...
随机推荐
- MSP430F149学习之路——时钟2
代码一: /************************** 功能:LED每隔1秒闪烁一次 ****************************/ #include <msp430x14 ...
- css各兼容应该注意的问题
1.div布局在ie浏览器和chrome浏览器,firefox浏览器不同,不如在div里面嵌套3个div,分别左中右,左边div的pading和margin在ie8以上都是几乎相同,ie8以下做内边距 ...
- 由多次使用Statement实例引起的Result set already closed异常的解决方案
在不同版本的Weblogic平台上迁移应用,产生了很严重的JDBC驱动版本不兼容的问题. 但是归根究底是代码的问题,废话少说,上代码示例. ..... //以下是问题代码 ResultSet rs=n ...
- BFPRT(线性查找算法)
BFPRT算法解决的问题十分经典,即从某n个元素的序列中选出第k大(第k小)的元素,通过巧妙的分 析,BFPRT可以保证在最坏情况下仍为线性时间复杂度.该算法的思想与快速排序思想相似,当然,为使得算法 ...
- APUE第五章:标准IO库
5.2流和file对象 #include <wchar.h> int fwide(FILE *fp, int mode); Returns: positive if stream is w ...
- PHP isset()与empty()的区别
PHP的isset()函数 一般用来检测变量是否设置 格式:bool isset ( mixed var [, mixed var [, ...]] ) 功能:检测变量是否设置 返回值: 若变量不存在 ...
- android studio首次运行出错
转载2015-10-24 16:28:15 标签:androidstudioandroidstudio无法启androidstudio1.4无法 Internal error. Please repo ...
- hdu2072
注意输入全是0的情况. #include <stdio.h> #include <string.h> #include <algorithm> using name ...
- 高仿精仿开心网应用android源码
今天早上看到了一个不错的安卓应用源码项目,真的非常不错高仿精仿开心网应用android源码下载,希望大家能够喜欢. 原文:http://android.662p.com/thread-29 ...
- 利用Python抓取CSDN博客
这两天发现了一篇好文章,陈皓写的makefile的教程,具体地址在这里<跟我一起写makefile> 这篇文章一共分成了14个部分,我看东西又习惯在kindle上面看,感觉一篇一篇地复制成 ...