`

(转)elasticsearch的准实时(near real-time)查询

 
阅读更多

转自:https://blog.csdn.net/hong0220/article/details/51097266

 

elasticsearch是基于lucene的,lucene是可以做到实时的,就是创建索引之后,立即能查询到。
但是这样,要么是牺牲索引的效率,每次都索引之后都刷新,要么就是牺牲查询的效率每次查询之前都进行刷新。

索引之后进行刷新是通过:

elasticClient.prepareIndex("indexName", "Person")
.setSource(
XContentFactory.jsonBuilder()
.startObject()
.field("name", "zhangsan")
.field("desc", "you are good chaoji good")
.field("age", 18)
.field("height", 256789l)
.field("sex", "M")
.field("bool", true)
.field("double", 33.6f)
.field("date", new Date(16554755464l))
.endObject())
.setRefresh(true)
.execute().actionGet();

 或者进行搜索前进行刷新

elasticClient.admin().indices().refresh(new RefreshRequest("indexName"));

 无论哪一种,都会让你的性能下降10倍以上,所以只能采取一种折中的方案,每隔n秒自动刷新,这样你创建索引之后,最多在ns之内肯定能查到。

这就是所谓的准实时(near real-time)查询。
构建客户端的时候设置

Settings settings = ImmutableSettings.settingsBuilder()
.put("client.transport.sniff", true)
.put("index.refresh_interval", "1s")
.put("cluster.name","elasticsearch")
.build();
 
TransportClient client = new TransportClient(settings);

 

分享到:
评论

相关推荐

    elasticsearch-6.8.5.zip

    其次,Elasticsearch 支持近实时处理(Near Real-Time),意味着索引的数据可以在几秒内变得可搜索。这种快速的索引和搜索能力使得 Elasticsearch 在实时分析和日志聚合场景中表现突出。 作为分布式系统,Elastic...

    Elasticsearch Tutorial

    It provides scalable search, has near real-time search, and supports multitenancy. Elasticsearch is distributed, which means that indices can be divided into shards and each shard can have zero or ...

    elasticsearch-6.1.3

    3. **近实时搜索**:Elasticsearch具有“Near Real Time”(NRT)特性,即文档被索引后几乎立即就可以进行搜索,这种快速响应时间使得它非常适合实时分析应用。 4. **多租户支持**:Elasticsearch支持多个索引,每...

    Elasticsearch原理解析

    5. **近实时搜索(Near Real-Time)** - Elasticsearch的数据更新并非立即生效,而是有一定的延迟,这个延迟被称为刷新间隔。在默认设置下,大约1秒后,新的索引数据才会可供搜索。 6. **自动发现与故障恢复** - ...

    elasticsearch

    Elasticsearch 的搜索结果通常在几秒内更新,这得益于其NRT(Near Real-Time)设计。在源码中,`RefreshThread` 负责定期刷新索引,使新写入的数据可被搜索到。 5. **分片与复制** 数据的分片和复制是ES实现高...

    Elasticsearch5.6版本的Jar包

    7. **近实时处理(NRT)**:Elasticsearch具有近实时(Near Real Time)处理能力,文档被索引后,稍有延迟即可进行搜索。5.6版本优化了这一过程,延迟更小。 8. **集群管理**:Elasticsearch集群由多个节点组成,每...

    elasticsearch5.3.2jar包

    这是因为Elasticsearch采用了 near-real-time (NRT) 模型。 10. **监控与健康检查**:5.3.2版本提供了监控工具,可以查看集群的状态、节点性能、索引操作等信息,帮助用户监控和优化集群性能。 在使用这个jar包时...

    Elasticsearch.in.Action.2015.11

    5. **实时分析(Real-time Analysis)**:Elasticsearch可以与Logstash(日志收集)和Kibana(数据可视化)结合,形成ELK(Elasticsearch, Logstash, Kibana)堆栈,实现强大的日志管理和实时分析功能。 6. **安全...

    Mastering ElasticSearch.pdf

    3. **近实时搜索(Near Real-Time Search)**:当新的文档被索引后,它们会尽快变为可搜索状态,但并不立即可见,这种机制有助于提高写入性能。 4. **动态映射(Dynamic Mapping)**:ElasticSearch能够自动检测文档结构...

    elasticsearch-中文开发指南

    1. **接近实时 (Near Real Time, NRT):** - **定义:** Elasticsearch 支持几乎实时的数据处理能力,从索引文档到该文档可供搜索的时间间隔非常短,通常不超过一秒。 - **应用场景:** 在实时数据分析、日志处理等...

    Elasticsearch深入学习文档

    2. **实时性**:Elasticsearch能够在近实时(NRT,Near Real Time)环境下对数据进行索引和搜索。 3. **全文搜索功能**:Elasticsearch可以对数据进行复杂的全文搜索,包括对数据的相关性打分,返回按相关性排序的...

    Elasticsearch资料

    Elasticsearch 实现了近实时处理(Near Real-Time),即索引一个新的文档后,稍作延迟(通常为1秒)即可进行搜索。这种特性使得Elasticsearch 在大数据环境下仍能保持快速响应。 5. **全文搜索与聚合** Elastic...

    Structured Spark Streaming-as-a-Service with Hopsworks

    - **Elasticsearch:** A search and analytics engine capable of handling large volumes of data in near real-time. Elasticsearch is used for log aggregation and analysis within Hopsworks. - **Jupyter/...

    elasticsearch-6.8.3.rpm

    Elasticsearch is a full... It is easy to scale, schemaless, and near real time, and provides a restful interface for different operations. It is schemaless, and it uses inverted indexes for data storage.

    elasticsearch汇总整理.rar

    Elasticsearch 在插入文档后,无需额外的步骤即可立即进行搜索,这是因为其采用了近实时(Near Real-Time)搜索机制。虽然有一定的延迟,但通常这个延迟非常短,对于大多数应用场景来说是可接受的。 **安全性** ...

    es快速入门笔记,自我整理,共75节

    * NRT(Near Real-Time):指Elasticsearch的近实时处理能力。 * 索引(Index):Elasticsearch中的数据存储单元。 * 分片(Shard):索引的水平分区,用于分布式存储和查询。 * 副本(Replica):分片的副本,用于...

    es操作学习安装教程。。。

    Elasticsearch 的设计目标是提供一个能够快速“准实时”(near-real-time)搜索的系统,它不仅适用于全文搜索,还适用于结构化数据的检索。 1. **Elasticsearch 架构** - 分布式:Elasticsearch 可以在多台机器上...

    [ES技术解析与实战]pdf

    ES采用近实时(Near Real-Time)搜索,意味着数据写入后,经过短暂的索引延迟,即可进行搜索。这种特性使得ES适用于需要快速响应查询的应用场景,如实时监控系统。 **3. RESTful API** ES通过HTTP协议提供RESTful ...

    lasticsearch(简称ES)是一个基于Apache Lucene(TM)的开源搜索引擎,无论在开源还是专有领域,Luce

    - **NRT(Near Real-Time)**:接近实时的数据索引与检索,意味着数据可以几乎立即被搜索到。 - **Cluster(集群)**:由一个或多个节点组成的集合体,共同完成数据存储与检索任务。 - **Node(节点)**:集群中的...

Global site tag (gtag.js) - Google Analytics