当前位置: 首页 > news >正文

网站关键词库文交所网站建设方案

网站关键词库,文交所网站建设方案,深圳企业有限公司,SQL如何建网站Apache Lucene : Flush, Commit Elasticsearch 是一个基于 Apache Lucene 构建的搜索引擎。 它利用 Lucene 的倒排索引、查询处理和返回搜索结果等功能来执行搜索。 它还扩展了 Lucene 的功能,添加分布式处理功能以支持大型数据集的搜索。 让我们看一下 Apache Luc…

Apache Lucene : Flush, Commit

Elasticsearch 是一个基于 Apache Lucene 构建的搜索引擎。 它利用 Lucene 的倒排索引、查询处理和返回搜索结果等功能来执行搜索。 它还扩展了 Lucene 的功能,添加分布式处理功能以支持大型数据集的搜索。 让我们看一下 Apache Lucene 的功能,这些功能使 Elasticsearch 能够执行这些角色。

Apache Lucene: Flush

Apache Lucene: Flush

当收到文档索引请求时,Lucene 会为文档创建一个倒排索引并将其存储在内存缓冲区中。 当执行索引、更新或删除文档等操作时,Lucene 将这些更改保存在内存缓冲区中,并定期将它们刷新(flush)到磁盘。

刷新(flush)是指将索引文档从易失性内存缓冲区(例如 RAM)移动到物理段的过程。 执行刷新有以下好处:

  • 改进的性能:如果索引文档存储在内存中,则每次执行搜索时都必须从内存中读取它们。 将文档刷新到磁盘可以提高搜索性能。
  • 数据丢失预防:如果发生内存丢失,索引文档可能会丢失。 将文档刷新到磁盘可以防止数据丢失。
private ExternalReaderManager createReaderManager(RefreshWarmerListener externalRefreshListener) throws EngineException {boolean success = false;ElasticsearchReaderManager internalReaderManager = null;try {try {final ElasticsearchDirectoryReader directoryReader = ElasticsearchDirectoryReader.wrap(// DirectoryReader.open() !DirectoryReader.open(indexWriter),shardId);internalReaderManager = new ElasticsearchReaderManager(directoryReader);// lastCommittedSegmentInfos lastCommittedSegmentInfos = store.readLastCommittedSegmentsInfo();ExternalReaderManager externalReaderManager = new ExternalReaderManager(internalReaderManager, externalRefreshListener);success = true;return externalReaderManager;} catch (IOException e) {maybeFailEngine("start", e);try {indexWriter.rollback();} catch (IOException inner) { // iw is closed belowe.addSuppressed(inner);}throw new EngineCreationFailureException(shardId, "failed to open reader on writer", e);}} finally {if (success == false) { // release everything we created on a failureIOUtils.closeWhileHandlingException(internalReaderManager, indexWriter);}}}
  • DirectoryReader.open() 方法打开 DirectoryReader 来读取索引文档。 此方法检查需要刷新的段,并在必要时刷新它们。
  • 代码 lastCommitedSegmentInfos = store.readLastCommissedSegmentsInfo(); 读取最后提交的段信息。 该信息用于确定哪些段需要刷新。

Apache Lucene: Commit

Lucene 的 flush 操作只能保证数据传输到系统的页缓存(page cache)中,但不能保证文件真正安全地写入磁盘。

因此,Lucene 会定期执行同步操作,通过 fsync 系统调用将内核系统页缓存的内容与当前写入磁盘的内容进行同步。 这个操作称为 Lucene 提交 (commit)。

什么是系统的页面缓存?

系统的页缓存是操作系统存储在内存中的数据缓存。 操作系统使用页面缓存,以便程序可以从硬盘读取数据,而不必直接访问内存。 在页面缓存中存储数据有以下好处:

  • 它提高了程序性能,因为程序可以从硬盘读取数据,而无需直接访问内存。
  • 它减少了磁盘读取次数,从而可以延长硬盘的使用寿命。

fsync系统调用是什么?

fsync 系统调用是用于将文件内容永久写入磁盘的系统调用。 它将文件的内容从操作系统的页面缓存复制到磁盘,然后更新磁盘上的标头(有关文件的大小、内容、格式、创建、修改日期和权限的信息)。

通过执行这些操作,Apache Lucene 确保索引文档不仅存储在操作系统的页面缓存中,而且永久存储在磁盘上,从而防止数据丢失。

更多阅读:Elasticsearch:Elasticsearch 中的 refresh 和 flush 操作指南

http://www.yayakq.cn/news/667334/

相关文章:

  • 张家口北京网站建设一站式网站建设比较好
  • 网站建设帮助中心电脑有固定IP 做网站
  • 锡林浩特网站建设微信开发开发公司保障员工安全的措施
  • 呼和浩特电子商务网站建设自适应网站模板公司
  • 如何免费搭建自己的网站做网站时怎么更改区域内的图片
  • 给自己的网站做镜像网站建设网站的整个费用预算
  • 城建亚泰建设集团网站网页制作的公司多少收入
  • 网站空间支持什么程序wordpress支持伪静态
  • 广州开发网站技术制作小程序公司
  • 网站空间 控制面板门户网站建设经验交流
  • 建交互网站需要多少钱平面广告设计培训学校
  • 咋做抽奖网站河南网站建设报价
  • 网站制作费用入什么科目有没有做维修的网站
  • 上海定制化网站开发杭州网站运营十年乐云seo
  • 众筹网站搭建大一网页设计作业成品
  • 广州做网站优化个人网站搭建详细步骤
  • 手机网站一年维护费deals网站建设
  • 兴化网站网站建设免费网线
  • 如何做自己的游戏网站网络销售技巧
  • 个人域名备案完成了 可以改网站内容吗做出口网站
  • 班级网站建设html制作网站开发 加密保护
  • 备案通过网站还是打不开网站开发原型工具
  • php网站开发基础教程北京做兼职的网站
  • 黑龙江营商环境建设局网站wordpress主题去版权
  • 成都搭建企业网站网站搭建就来徐州百都网络非常好
  • 北京市住房城乡建设部网站优盖网logo在线设计
  • 南昌网站做陕西省建设安全协会网站
  • 虚拟主机做网站视频网站后台登陆
  • 自学网站搭建如何在小程序开店铺
  • 在哪个网站可以做酒店预定单wordpress 恢复备份