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

电子加工东莞网站建设商务网站建设综合实训

电子加工东莞网站建设,商务网站建设综合实训,温州网站建设钱,怎样学好网站开发在Elasticsearch (ES) 中#xff0c;_source字段是一个关键组件#xff0c;它不仅决定了数据的存储方式#xff0c;还影响到查询时返回的内容。在某些场景下#xff0c;我们可以通过配置_source来优化存储和性能#xff0c;尤其是当我们希望减少存储空间或避免返回某些字段…在Elasticsearch (ES) 中_source字段是一个关键组件它不仅决定了数据的存储方式还影响到查询时返回的内容。在某些场景下我们可以通过配置_source来优化存储和性能尤其是当我们希望减少存储空间或避免返回某些字段时。本篇博客将详细介绍如何通过_source的 excludes 选项排除字段存储但仍然保留其索引功能的操作原理及应用场景。 1. 什么是_source字段 _source是每个文档在Elasticsearch中存储的原始数据。默认情况下当你索引文档时整个文档的数据会被存储在_source中ES会将其完整存储并在查询时返回。当你进行GET请求获取文档时返回的正是这个_source数据。 但是在某些情况下我们可能不希望存储所有字段的值尤其是一些大型的文本字段。此时通过配置_source的excludes选项我们可以决定不将这些字段存储下来但它们仍然可以被索引用于查询。 2. mappings中的_source配置示例 以下是一个mappings定义的示例其中我们通过_source的excludes选项排除了两个字段full_text_claim和full_text_description。 mappings: {_doc: {_source: {excludes: [full_text_claim,full_text_description]},properties: {full_text_claim: {type: text},full_text_description: {type: text},// 其他字段定义...}} }解读 _source字段的排除通过 excludes 选项我们明确排除了 full_text_claim 和 full_text_description。这意味着在存储文档时这两个字段的原始数据不会被保存下来。索引功能依然保留虽然没有存储这两个字段的数据但它们依然可以被索引也就是说你依然可以基于这些字段进行查询和检索。 3. 为什么要排除某些字段 在实际应用中排除一些不需要存储的字段有以下几个好处 节省存储空间有些字段例如全文本数据可能非常大。如果你不需要这些字段在查询时返回则可以选择不将它们存储在 _source 中这样可以减少磁盘空间的占用。 提升索引效率在写入文档时ES 需要将每个字段的数据保存到 _source 中。如果某些字段的数据量较大通过排除它们可以提升索引写入的效率特别是对于高频写入的场景。 保护数据隐私某些字段可能包含敏感数据比如客户的隐私信息或机密字段。通过不存储这些字段可以防止它们在查询结果中被返回从而提升数据安全性。 减少网络开销如果某些字段数据量大且在查询时不需要返回排除它们可以减少查询时的数据量提升响应速度减少网络传输的负担。 4. 排除字段后仍然可以检索吗 这是一个关键问题即使我们不存储某些字段它们仍然可以用于查询和检索。 在上面的 mappings 配置中full_text_claim 和 full_text_description 虽然没有被存储在_source中但由于它们被索引了仍然可以用于全文检索。这意味着你依然可以基于这两个字段的数据进行搜索和查询操作。例如 {query: {match: {full_text_claim: some search term}} }这段查询语句依然可以正常运行并返回匹配到的文档。这是因为虽然这些字段的原始数据没有存储下来但它们的数据已经被索引因此可以参与全文搜索。 5. 索引 vs 存储二者的区别 在Elasticsearch中需要明确区分索引和存储的区别 索引 (Indexing)当某个字段被索引时它的数据会被ES处理并构建索引用于查询操作。即使该字段不被存储它仍然可以参与搜索。 存储 (Storing)存储是指将字段的原始数据保存到_source中方便在查询时将完整的数据返回给客户端。如果某个字段没有被存储那么查询时无法返回其原始数据。 因此即使字段被排除在_source之外它依然可以参与查询但查询结果中不会返回该字段的原始数据。 6. 如何控制哪些字段需要存储 通过以下配置可以决定哪些字段存储哪些不存储 _source: {excludes: [field_name1, field_name2] }如果你希望某个字段不仅被索引还能存储并在查询时返回可以将其从excludes中移除或者完全省略 excludes _source: {excludes: [] }7. 具体应用场景举例 全文检索应用对于大型的文本字段例如专利的详细描述、法律条款等通常我们需要对其进行全文检索但不需要每次查询都返回完整文本。通过排除字段的存储只索引这些字段可以提高系统性能。 日志系统优化在日志分析系统中某些字段可能包含详细的日志信息例如堆栈跟踪、错误详情等这些数据通常用于检索和分析但不需要频繁返回给用户。通过排除这些字段的存储可以显著减少存储需求。 敏感数据处理某些系统中的数据例如用户的隐私信息、交易详情等可能包含敏感信息。为了确保数据隐私开发者可能希望这些数据仅用于查询而不直接返回给客户端。 8. 如何查询排除字段 如果某些字段被排除在存储之外你仍然可以在查询时通过这些字段进行检索但无法直接返回这些字段的内容。你可以指定只返回那些未被排除的字段例如 {_source: [title, app_date],query: {match_all: {}} }这将返回文档中 title 和 app_date 字段的数据而不会返回被排除的 full_text_claim 和 full_text_description。 9. 总结 Elasticsearch 提供了灵活的 _source 配置允许我们通过 excludes 来排除不需要存储的字段。这样做的好处包括节省存储空间、提高写入效率、减少网络负担以及确保数据隐私。同时即使字段不被存储它们依然可以被索引用于查询和检索。理解并合理配置_source字段能有效优化系统性能适应不同的应用场景需求。
http://www.dnsts.com.cn/news/113903.html

相关文章:

  • 马蜂窝网站怎么做山东住房和城乡建设厅网站注册中心
  • 江苏网站备案流程图浙江响应式网站建设制作
  • 成都网站建设科技网站打不开显示asp
  • 网站的首页面设计深圳专业网站建设产品运营之中的广度讲解
  • 做短视频的网站青岛seo杭州厂商
  • 手机设计培训网站建设ag1042入口快速入口
  • 网站名称能用商标做名称吗山东莱芜金点子电子版
  • 如何优化网站目录结构北京最好的网站制作公司
  • 团队网站建设哪些网站做的不好
  • html5网站开发工具有哪些wordpress mo po
  • 做网站数据分析架构重庆公司建网站流程
  • 萧山建设银行招聘网站南通高端网站建设开发
  • flash网站开发工具网页设计与网站开发经济可行性
  • 建设电影网站如何赚钱网店运营流程步骤
  • 搜狐快站做的手机网站深圳安嘉建设有限公司网站
  • 西安公司网站费用手机建网站步骤
  • 贝尔利网站万网注册域名查询
  • WordPress发表评论自定义软件排名优化
  • 网站建设作为自学网设计
  • 持续推进网站建设网站页面统计代码
  • 网站有免费的域名和空间么山东省建设厅制一网站
  • 望城区住房和城乡建设局门户网站买域名有什么用
  • 整站外包优化公司商城网站建设价位
  • 加大整合力度网站集约建设wordpress不显示 头像
  • 广州营销型网站建设培训挖掘关键词爱站网
  • 网站开发要用到的工具外网如何查看局域网建设的网站
  • 建设网站公司哪个好奥利奥广告策划书
  • 网站优化招商wordpress如何本地安装
  • unsplash素材网站芜湖哪些公司做公司网站
  • 做网站电话销售怎么修改wordpress的php文件