ELK合集(六):Elasticsearch关键术语之Document文档 持续更新

Elasticsearch关键术语 系列博文 目的只用来了解概念 ; 其中 涉及到的配置和使用 是为了方便日后使用时查询的

Document文档

概念

一条数据 是可搜索的最小单位


数据形态

在这里插入图片描述
JSON格式 支持数组 支持嵌套

JSON对象由Field字段组成

每个字段都有字段类型 (可先指定 或 ES自动推算)


拥有的元数据

在这里插入图片描述

  • _id
    • 文档唯一ID(可自己指定 或ES自动生成)
  • _index
    • 文档的index索引名
  • _type
    • 文档的type类型名 (ES7 都是_doc)
  • _source
    • 文档的原始json数据
  • _version
    • 文档的版本信息
  • _score
    • 文档的相关性算分

下边展开介绍 _score相关性算分

_score 相关性算分
概念

ES根据一个算法计算的 查询语句和一个文档的匹配度

作用

用于搜索结果的排序 分高的先展示

相关性算分的简单方法

搜索字符串 去掉stopwords介词等后 将每个词的TF词频相加

算法

ES默认算法

  • ES5之前 默认TF-IDF算法

    • 相关概念

      • DF 文档频率 : 检索词在所有文档中出现的频率 Document Frequency
      • IDF 逆文档频率 : Inverse Document Frequuency = log2(全部文档数➗检索词出现过的文档总数)
    • Lucene的TF-IDF 算法公式
      在这里插入图片描述

    • 效果举例

      • 英文为主的文章中 出现几个德文 德文算分高 因为稀有
  • ES5开始 默认BM25算法

    • 优点
      • 对TF-IDF做了优化 (当TF值增加到定值时 TF-IDF会持续猛增 BM25会超缓慢增加趋于一个数值)
    • Lucene的BM25算法公式
      在这里插入图片描述
      • 参数
        • k : 默认值1.2 数值越小 饱和度越高
        • b : 默认值0.75 取值范围0-1 0代表禁止Normalization标准化

similarity 自定义算法

  • 概念

    • 创建Index时setting设置自定义算法 mapping将自定义算法设置到指定字段上
  • 语法示例

    PUT my_index
    {
      "settings":{
        "similarity":{
          "custom_similarity":{
            "type":"BM25",
            "b":0,
            "k1":2
          }
        }
      },
      "mappings":{
        "doc":{
          "properties":{
            "custom_text":{
              "type":"text",
              "similarity":"custom_similarity"
            },
            "default_text":{
              "type":"text"
            }
          }
        }
      }
    }
    
Information Retrieval 衡量相关性参考

在这里插入图片描述
规则

  • Precision 查准率 – 尽可能返回较少无关文档
  • Recall 查全率 – 尽可能返回较多相关文档
  • Ranking 相关度 – 是否能按相关度排序

文档到分片的路由算法

公式

shard = hash(_routing) % number_of_primary_shards

  • hash算法确保文档均匀分散到分片中
  • 默认的_routing值是文档id
  • 可自行定制routing数值 例如相同国家的商品 都分配到指定的shard
  • 这也是 设置index settings后 主分片数 不能随意修改的根本原因


参考
阮一名资料
官方文档
百度

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Cheese海盐芝士

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值