`
fenshen6046
  • 浏览: 52063 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论
文章列表
搜索可以横跨多个索引或者多种类型如下:在twitter索引下的所有类型文章搜索 GET /twitter/_search?q=user:kimchy 针对某几个类型进行搜索 GET /twitter/tweet,user/_search?q=user:kimchy 搜索横跨几个index搜索类型为tweet的数据 GET /kimchy,elasticsearch/tweet/_search?q=tag:wow 或者搜索所有索引下类型为tweet的数据 GET /_all/tweet/_search?q=tag:wow 搜索所有索引 GET /_search?q=tag:wow 默认情况下,e ...

5文档接口

创建或者更新接口 PUT twitter/tweet/1 { "user" : "kimchy", "post_date" : "2009-11-15T14:12:12", "message" : "trying out Elasticsearch" } 结果为{ "_shards" : { "total" : 2, ...

4接口协议

多索引 大部分涉及到index的api接口都支持同事处理多个index,使用test1,test2(或者针对所有index的_all)。同时还支持通配符如:test*,t*st甚至可以使用添加+test*或者排除-test3。 日期数据支持 索引中可以有时间的各种信息https://www.elastic.co/guide/en/elasticsearch/reference/current/date-math-index-names.html 公共选择 url中添加?pretty=true返回会信息更加友好。?format=yaml会使返回以yaml方式展示,更加可读。 统计信息返回也会有一 ...
$ jps | grep Elasticsearch 14542 Elasticsearch 执行$ kill -SIGTERM 14542 当es出现问的时候 在关闭的时候会返回一些对应码 JVM internal error 128 Out of memory error 127 Stack overflow error 126 Unknown virtual machine error 125 Serious I/O error 124 Unknown fatal error 1
更新之前一定要备份数据。可以使用一些插件差检测潜在的问题。 滚动升级 es集群准许一台一台的升级并且对用户无影响。多版本的es不支持此种情况,因为新版本的数据分片不能被老版本识别。 第一步 禁止发数据分片分配 当 ...
在默认情况下,es认为你运行在开发环境,有些设置没有正确设置,则会记录一条提醒的日志。但是一旦你设置了network.host这样的高级设置,es则认为你运行在生产环境了,上面的提醒则会变成异常抛出。 系统设置 设置最大文件打开数目 /etc/security/limits.conf 添加 elasticsearch - nofile 65536 设置jvm堆内存 默认在jvm.options文件中设置jvm为2g内存。对于生产环境尽量重新设置内存占用大小。 1最小堆内存和最大堆内存要一致(否则在内存扩容会出现灾难性的等待) 2堆内存设置越大,则缓存的数据就越大,同样垃圾回收也会越耗时 ...
堆内存设置 最好设置jvm的启动内存和可使用的最大内存 大小一致,否则在内存不够需要扩容的时候,很可能会导致es进行暂停。如果设置了内存锁定(即bootstrap.memory_lock为true),只会锁定初始化的内存大小,即当初始化内存大小和最大内存不一致的时候,会导致差值没有被锁定。 内存锁定 内存回收的时候,如果内存被换到硬盘上,将会浪费大量时间。有一些办法可以阻止内存被换到硬盘上 如:bootstrap.memory_lock为true。为了完成这个操作你可能需要设置mlockall。 最大线程 由于es需要大量的线程来处理请求,所以必须设置准许es启动至少2048个线程。(你可以在/ ...
设置数据和日志的保存路径 path:   logs: /var/log/elasticsearch   data: /var/data/elasticsearch path.data也可以设置在不同的路径下 path:   data:     - /mnt/elasticsearch_1     - /mnt/elasticsearch_2     - /mnt/elasticsearch_3 cluster.name 代表你想要加入的集群名称(默认是elasticsearch)。这里一定要注意不同环境的集群名称要不同,否则会使数据混乱。(es是根据集群名称加入集群的,如果集群名称相同,则会 ...
es只需要很少的设置接口,大部分的设置都可以通过api接口进行在线设置。 需要两个配置文件 elasticsearch.yml 配置es的信息 log4j2.properties配置es日志信息 这两个文件都存在config目录下($ES_HOME/config/)。Debian 和 RPM包安装的config路径为/etc/elasticsearch/ 如果想使用指定config路径启动 ./bin/elasticsearch -Epath.conf=/path/to/my/config/ 设置数据和日志保存路径 path.data: /var/lib/elasticsearch path. ...

es前置说明

根据原文基于主要内容进行翻译记录(原文地址:https://www.elastic.co/guide/en/elasticsearch/reference/current/index.html)。 有些章节,认为没必要记录,比如如何安装es。所以序号上会有一定缺失。
搜索API GET /bank/_search?q=*&sort=account_number:asc&pretty rest方式搜索bank索引下的所有数据,并且按照account_number 上升方式返回 类似下面的搜索方式 GET /bank/_search body为: {   "query": { "match_all": {} },   "sort": [     { "account_number": "asc" }   ] } 初步学习搜索语言 下面的搜索全部文档 ...
添加id为1,type为external,index为customer的数据 PUT /customer/external/1?pretty {   "name": "John Doe" } 如果在执行上面的操作,则会覆盖以前的数据。 如果不想指定id的话,es会生成默认的id PUT /customer/external?pretty {   "name": "John Doe" } 上面的是覆盖数据,如果想要更新数据 POST /customer/external/1/_update?pretty {   & ...
查看集群的健康情况 GET /_cat/health?v green代表所有所有节点正常,yellow代表部分备份无法正常工作,red代表有一些数据无法获取到。 查看所有的节点 GET /_cat/nodes?v 查看所有index GET /_cat/indices?v 删除index DELETE /customer?pretty
nrt 近实时 es是自动发现并组合成集群,所以一定要区分名字,即,使用名字来区分集群。 node:节点。就是一台单独的服务器。可以提供搜索,保存等功能。每台机器最好有一个自己的名字,如果没有,则创建的时候回使用uuid作为起名字。每台服务器一定要指定一个名字,默认将加入elasticsearch这个集群。 index:类似db type:类似table document:就是一条具体数据,使用json保存 shards:分片。当index过大的时候很难保证高性能提供服务,所以讲index分成几个分片。默认为5 replicas:备份。每个shard可以有0或者多个备份。默认为1
背景: 数据库的client,connection等编码都是latin1,表的编码是utf-8. 开发环境是eclipse,默认编码是utf8. 这种方式下在linux命令行下获取中文数据正常,但是java的jdbc获取数据是乱码。(以前是用c获取的数据,现在要改成java获取数据) 在java的jdbc中假设获取数据sql 为select field from table ;乱码 可以修改sql语句为 select convert(unhex(hex(convert(field  using latin1))) using utf8) as content from table; 这样就可 ...
Global site tag (gtag.js) - Google Analytics