基于Elasticsearch开发时的注意事项备忘

笔录一些团结在Elasticsearch开发进度的琐碎知识点

一 、使用ScriptFields时,需在yml配置文件中添加配置(script.disable_dynamic:
false)开运营态脚本帮忙,好像是从有些版本以上才须要,反正本人用的1.5.2是急需这一个布局的。

二 、创造索引时,适当调整mapping设置,进步索引效能,如关闭副本,创造完索引后再也安装副本数量即可:NumberOfReplicas(0)

③ 、成立索引时,批量交付数据,能够大大进步索引功用,如:BulkIndexOperation

④ 、只须求查询记录条数的时候,添加参数:search_type=count
 ,Nest中是SearchType.Count。只回去记录条数,不回来具体数目,升高查询性能

伍 、Elasticsearch配置LDAP身份验证(searchguard)后,请求时需传入用户地点音讯,实现方式:

    curl请求:curl -XGET -u用户名:密码  192.168.xx.xx:9200

    Http请求(Nested):http://用户名:密码@192.168.xx.xx:9200

陆 、安插linux机器,调整系统同时打开的公文数量:ulimit
-n 65536(只针对当下对话生效);
     永久生效:vi /etc/security/limits.conf

     * soft nproc 65536
     * hard nproc 65536
     * soft nofile 65536
     * hard nofile 65536

⑦ 、可正好调整Elasticsearch线程池大小

   
 官方文档:https://www.elastic.co/guide/en/elasticsearch/reference/current/modules-threadpool.html

   
 查看当前线程池配置:http://192.168.xxx.xxx:9200/\_nodes/thread\_pool/

88bifa必发娱乐,   
 调整原因:Elasticsearch供search的默许线程池数量为1000,当出现大GC导致search请求阻塞时,会招致线程池不足,进而拒绝请求,导致前者请求堆积。分外音信如下:

      Failed to execute fetch phase

   
 org.elasticsearch.common.util.concurrent.EsRejectedExecutionException:
rejected execution (queue capacity 1000) on
      org.elasticsearch.search.action.SearchServiceTransportAction

 八 、Elasticsearch各版本发版记录:https://www.elastic.co/guide/en/elasticsearch/reference/current/es-release-notes.html

      关心Elasticsearch各版本升级所产生的变迁,提供的新作用等

 九 、使用GeoPoint地理检索时,赋值时需注意,Latitude代表纬度,Longitude代表经度,百度地图中拿走到的坐标一般是(经度,纬度),传入值错误的话,在1.5.2版本中系统绝非报错,未做经度和纬度值的管事校验,在ES2.x版本,暗中同意会做多中将验,经度有效数据范围为[-180,180],纬度有效数据范围为[-90,90]

 

相关文章