• Elasticsearch:二进制数据类型 - binary field


     二进制(binary)类型接受二进制值作为 Base64 编码字符串。 该字段默认不存储且不可搜索。Base64 编码的二进制值不得嵌入换行符 \n

    这听起来像是,将二进制对象存储在 Elasticsearch 中的单个字段中

    1. PUT my-index-000001
    2. {
    3. "mappings": {
    4. "properties": {
    5. "name": {
    6. "type": "text"
    7. },
    8. "blob": {
    9. "type": "binary"
    10. }
    11. }
    12. }
    13. }

    二进制字段的参数

    二进制字段接受以下参数:

    条目描述
    doc_values该字段是否应该以列跨度的方式存储在磁盘上,以便以后可以用于排序、聚合或脚本编写? 接受 true 或 false。默认值为 false
    store字段值是否应与 _source 字段分开存储和检索。 接受 true 或 false(默认)。

    如果关闭倒排索引doc_values,二进制字段类型与 keyword 字段类型相同,那么它的用途是什么?

    Elasticsearch 的一个典型用例是用作元数据搜索引擎,文档中至少有一个字段指向另一个存储库中的对象,例如图像、电影和歌曲的链接,而其余字段用于 找到该对象(歌曲名称、图像描述、导演)。 要获取对象本身,你首先需要在 Elasticsearch 中进行搜索,然后在其他位置运行 GET 请求。 使用二进制字段类型,我们可以将对象直接存储在 Elasticsearch 的字段中,现在对 Elasticsearch 的查询将返回二进制对象,无需在其他任何地方运行第二个请求。

    如果你想将数据存储在一个地方并且你关心尽可能快地检索信息,这非常好。

    注意:二进制对象可能非常大,会增加 Elasticsearch 中的存储成本。

    潜在有用的用例

    几个字节或几千字节大小的文件,甚至可能是几兆字节,例如图像(png、jpg)、短 mp3、静态 HTML 页面、其他文档(txt/pdf/doc)。 这些也应该都是静态文件,不会随着时间的推移过于频繁地更改。

    要避免的用例

    大文件,如视频、无损歌曲、超大图像等,此列表应包括任何经常更新的文件,如 Google Docs/Microsoft Word 中的动态文档或协作或其他方式创建的任何其他文件。 (通常很难定义,这取决于用例,根据经验,如果文件每天/每周/每月更改 100 次,则可能需要避免)。

  • 相关阅读:
    【函数式编程实战】(九) Optional实战大全
    GP08|财务&估值因子过滤实盘小市值
    【微信小程序】welcome页面
    IntelliJ IDEA 常用快捷键-个人查阅
    【元宇宙欧米说】元宇宙场景应用和营销新模式
    idea放大镜效果当对源码或者平常自己的代码关系
    长文本拆分
    el-row和el-col在element ui中的注意点
    目标检测 YOLOv5 - ncnn模型的加密 C++实现封装库和Android调用库示例
    Day3 最短路 最小生成树 拓扑排序
  • 原文地址:https://blog.csdn.net/UbuntuTouch/article/details/131152677