
ElasticSearch
稻草一根
这个作者很懒,什么都没留下…
展开
-
ElasticSearch6.X版本Java Api中文详解(二)之Index Api解析
Inde API允许将类型化JSON文档索引到特定索引中,并使其可搜索。生成JSON文档有几种不同的方法:1.手动(也就是自己使用)使用本机字节[]或作为字符串。2.使用将自动转换为其JSON等效的映射。3.使用第三方库序列化您的bean,如Jackson。4.使用内置的助手XContentFactory.jsonBuilder()在内部,每个类型转换为byte[](...原创 2018-04-23 09:43:50 · 5881 阅读 · 1 评论 -
ElasticSearch 集群是如何保证数据的一致性和实时性?
1. 当我们在说一致性,我们在说什么?在分布式环境下,一致性指的是多个数据副本是否能保持一致的特性。在一致性的条件下,系统在执行数据更新操作之后能够从一致性状态转移到另一个一致性状态。对系统的一个数据更新成功之后,如果所有用户都能够读取到最新的值,该系统就被认为具有强一致性。分布式系统不可能同时满足一致性(C:Consistency)、可用性(A:Availability)和分...原创 2019-03-19 16:57:12 · 10238 阅读 · 0 评论 -
ElasticSearch6.2.3 Java Client 连接安装Xpack的ES集群的Bug问题
ES集群安装X-pack之后java client连接报错:Settings settings = Settings.builder() .put("cluster.name", Config.clusterName) .put("client.transport.sniff", true) .p...原创 2018-11-12 17:53:07 · 5878 阅读 · 2 评论 -
Elasticsearch批量操作bulk原理解释
代价较小的批量操作与 mget 可以使我们一次取回多个文档同样的方式, bulk API 允许在单个步骤中进行多次 create 、 index 、 update 或 delete 请求。 如果你需要索引一个数据流比如日志事件,它可以排队和索引数百或数千批次。bulk 与其他的请求体格式稍有不同,如下所示:{ action: { metadata }}\n{ request bod...原创 2018-11-13 14:30:49 · 6319 阅读 · 0 评论 -
Logstash连接kafka输出报错:Error registering plugin
Error registering plugin {:pipeline_id=>"main", :plugin=>"#<LogStash::OutputDelegator:0x761d397b @namespaced_metric=#<LogStash::Instrument::NamespacedMetric:0x2072e850 @metric=#<LogS...原创 2018-10-19 11:16:38 · 6694 阅读 · 0 评论 -
ElasticSearch对历史数据增加字段并对历史数据附初值
elasticsearch如何为类型添加字段并赋初值elasticsearch如何为指定索引中类型添加字段并赋初值,就像数据库中添加字段为老的数据赋初始值一样。用update_by_query结合script可以办到,例如:POST my_index/_update_by_query{ "script": { "lang": "painless", "inline...原创 2018-08-23 10:08:57 · 6124 阅读 · 0 评论 -
Elasticsearch6.2.3版本的heap size设置
在默认情况下,弹性搜索告诉JVM使用最少和最大大小为1 GB的堆。在迁移到生产环境时,配置堆大小是很重要的,以确保弹性搜索有足够的堆可用。弹性搜索将分配jvm中指定的整个堆。通过Xms(最小堆大小)和Xmx(最大堆大小)设置选项。这些设置的值取决于服务器上可用RAM的数量。好的经验法则是:将最小堆大小(Xms)和最大堆大小(Xmx)设置为相等。弹性搜索的可用堆越多,它就可以用于缓存的内存越多。但是...原创 2018-07-03 11:12:29 · 3681 阅读 · 0 评论 -
ElasticSearch java API - 聚合查询
以球员信息为例,player索引的player type包含5个字段,姓名,年龄,薪水,球队,场上位置。index的mapping为:"mappings": { "player": { "properties": { "name": { "index": "not_analyzed", "type": "string"转载 2018-05-18 14:36:23 · 644 阅读 · 0 评论 -
Elasticsearch使用java API 查询时间范围内匹配某个关键字并对查询结果内按某个字段进行GroupBy操作
Elasticsearch使用java API 查询时间范围内匹配某个关键字并对查询结果内按某个字段进行GroupBy操作,我们业务需求是求某个手机前缀在某个时间范围内每个imsi对应的总数代码如下: public void searchByPrefix(List<String> prefixList , String fromTime , String endTime){...原创 2018-05-18 14:24:23 · 6053 阅读 · 0 评论 -
ElasticSearch6.X版本Java Api中文详解(八)之Reindex API解析
BulkByScrollResponse response = ReindexAction.INSTANCE.newRequestBuilder(client) .destination("target_index") .filter(QueryBuilders.matchQuery("category", "xzy")) .get();可选地,可以提供一个查询来筛选从源到目...原创 2018-04-25 14:55:08 · 1180 阅读 · 0 评论 -
ElasticSearch6.X版本Java Api中文详解(七)之Update By Query API解析
updateByQuery最简单的用法是更新索引中的每个文档,而无需更改源。这种用法允许拾取新属性或另一个在线映射更改。UpdateByQueryRequestBuilder updateByQuery = UpdateByQueryAction.INSTANCE.newRequestBuilder(client);updateByQuery.source("source_index")....原创 2018-04-25 14:53:05 · 16371 阅读 · 4 评论 -
ElasticSearch6.X版本Java Api中文详解(六)之Using Bulk Processor解析
Using Bulk Processor提供了一个简单的接口,可以根据请求的数量或大小,或者在给定的时间段后自动刷新批量操作。要使用它,首先要创建一个散货处理器实例:import org.elasticsearch.action.bulk.BackoffPolicy;import org.elasticsearch.action.bulk.BulkProcessor;import org.el...原创 2018-04-25 14:42:21 · 4745 阅读 · 0 评论 -
ElasticSearch6.X版本Java Api中文详解(五)之Multi Get API、Bulk API解析
1.Multi Get APImulti get API允许根据它们的索引、类型和id获取文档列表:MultiGetResponse multiGetItemResponses = client.prepareMultiGet() .add("twitter", "tweet", "1") .add("twitter", "tweet", "2", &原创 2018-04-25 14:36:43 · 824 阅读 · 0 评论 -
ElasticSearch6.X版本Java Api中文详解(四)之Update API解析
你可以创建一个UpdateRequest并将它发送给客户端:UpdateRequest updateRequest = new UpdateRequest();updateRequest.index("index");updateRequest.type("type");updateRequest.id("1");updateRequest.doc(jsonBuilder() ...原创 2018-04-25 14:33:44 · 1872 阅读 · 0 评论 -
ElasticSearch6.X版本Java Api中文详解(三)之Get Api、Delete API 、Delete By Query API解析
Get DeleteDelete By QueryGet Apiget API允许根据它的id从索引中获得一个类型化的JSON文档,下面的例子从一个名为twitter的索引中获得一个JSON文档,在一个名为tweet的类型下,id值为1:GetResponse response = client.prepareGet("twitter", "tweet", "1").get();Delete Ap...原创 2018-04-25 14:26:48 · 3343 阅读 · 1 评论 -
ElasticSearch6.X版本Java Api中文详解(一)之TransportClient客户端连接方式
TransportClient使用传输模块远程连接到一个弹性搜索集群。它不加入集群,但只获得一个或多个初始传输ip地址,并在每个动作上与它们进行轮询(尽管大多数操作可能是"two hop" 操作)。// on startupTransportClient client = new PreBuiltTransportClient(Settings.EMPTY) .addTran...原创 2018-04-20 14:33:42 · 11544 阅读 · 1 评论 -
Elasticsearch Reindex性能提升改良
1、reindex的速率极慢,是否有办法改善?以下问题来自社区:https://elasticsearch.cn/question/3782问题1:reindex和snapshot的速率极慢,是否有办法改善?reindex和snapshot的速率比用filebeat或者kafka到es的写入速率慢好几个数量级(集群写入性能不存在瓶颈),reindex/snapshot的时候CPU还是IO使...转载 2019-03-11 14:29:14 · 736 阅读 · 0 评论