精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

探究:Elasticsearch 文檔的 _id 是 Lucene 的 docid 嗎?

開發 前端
_id 字段是 ES 用來做數據唯一性主鍵的特殊字段。docid 則是 Lucene 的內部實現,服務于 Lucene 字段查找的過程。

1、前言

之前在與研發進行 ES 使用優化的過程中,研發的同事饒有興致的在會議后問了我這么一個問題:我們寫入 ES 的 _id 字段和 lucene 中使用的 docid 是一個內容么?

兩者有什么關聯么?

當時對 Lucene 沒有太多了解的我只能實話實說:兩者應該不是一個概念,但是具體是否有關聯我這邊也沒有梳理清楚,后面有結論了可以再進行溝通。

現在,我們針對這個問題梳理一下吧。

2、Lucene 的 docid

首先來看看 Lucene 官方對 docid 的定義。

Lucene's index is composed of segments, each of which contains a subset of all the documents in the index, and is a complete searchable index in itself, over that subset.  As documents are written to the index, new segments are created and flushed to directory storage.  Segments are immutable;  updates and deletions may only create new segments and do not modify existing ones.  Over time, the writer merges groups of smaller segments into single larger ones in order to maintain an index that is efficient to search, and to reclaim dead space left behind by deleted (and updated) documents.

Each document is identified by a 32-bit number, its "docid," and is composed of a collection of Field values of diverse types (postings, stored fields, doc values, and points).  Docids come in two flavors: global and per-segment.  A document's global docid is just the sum of its per-segment docid and that segment's base docid offset.  External, high-level APIs only handle global docids, but internal APIs that reference a LeafReader, which is a reader for a single segment, deal in per-segment docids.

Docids are assigned sequentially within each segment (starting at 0). Thus the number of documents in a segment is the same as its maximum docid;  some may be deleted, but their docids are retained until the segment is merged.  When segments merge, their documents are assigned new sequential docids.  Accordingly, docid values must always be treated as internal implementation, not exposed as part of an application, nor stored or referenced outside of Lucene's internal APIs.

最直接的定義:

1.docid 是 32 位的數字,只是用于標記文檔;

2.docid 由不同類型的Field值(發布、存儲字段、文檔值和點)的集合組成;

3.docid 有兩種類型:全局的和每段的。文檔的全局文檔值只是其每段文檔值和該段的 docid 偏移量的總和。

4.docid 在每個段內按順序分配(從 0 開始)。

5.docid 只在 segment merge 的時候回收,然后被重新分配。

最后,官方強調 docid 只能作為 Lucene 的內部實現,并不適合外部應用調用,也不能在 Lucene 的內部 api 之外存儲或引用。

雖然官方對 docid 的生成和使用都介紹的很詳細,但是最后一句概括了所有,docid 只是 Lucene 內部對文檔進行標記的實現方式,與外部無關。

3、ES 的 _id

下面我們看看 ES 的 _id 字段。

Each document has an _id that uniquely identifies it, which is indexed so that documents can be looked up either with the GET API or the ids query. The _id can either be assigned at indexing time, or a unique _id can be generated by Elasticsearch. This field is not configurable in the mappings.

這里 ES 對 _id 字段的定義就很清晰,它是文檔唯一性標記,它可以在寫入的時候可以被指定值,如果不指定 ES 會自己生成一個值。即 _id 是 ES 文檔數據的唯一性主鍵,即 uuid。

ES 這么做的原因是 Lucene 不強要求寫入的數據需要帶 uuid,這在 Lucene 的主要開發者 Michael McCandless 博客里得到了印證,Lucene 并不要求寫入的數據具有唯一性主鍵。原文如下

Most search applications using Apache Lucene assign a unique id, or primary key, to each indexed document. While Lucene itself does not require this (it could care less!), the application usually needs it to later replace, delete or retrieve that one document by its external id.

而從 Lucene 的角度看,像 _id 這樣的元信息字段,只是 ES 對 Lucene 定制的一個字段,和其他字段沒有本質的區別。

public AbstractIdFieldType() {super(NAME, isIndexed:true, isStored:true, hasDocValue:false, TextSearchInfo.SIMPLE_MATCH_ONLY, Collections.emptyMap());}

從 ES 源碼可以看到,_id 字段是一個被倒排索引,被 store 了,但是沒有生成列存 docvalue 的特殊字段。

而我們日常用 _id 在 ES 進行 GET 操作獲取文檔數據,與使用 ES search API 進行 _id 查詢獲取數據,對于 Lucene 來說是一樣的,都是對 _id 字段進行檢索。

# get 操作
GET my-index-000001/_doc/2

# search 操作
GET my-index-000001/_search
{
  "query": {
    "terms": {
      "_id": [ "2" ] 
    }
  }
}

4、小結

綜上,我們不難看出,雖然 _id 字段和 docid 都是用與標記文檔的,但兩者并無耦合性關系。

_id 字段是 ES 用來做數據唯一性主鍵的特殊字段。docid 則是 Lucene 的內部實現,服務于 Lucene 字段查找的過程。

當然,ES 實現數據多版本的唯一性,不僅僅依靠 _id 字段,更多的信息在

《Elasticsearch內核解析 - 數據模型篇》:

https://zhuanlan.zhihu.com/p/34680841,

而對 _id 字段優化使用有興趣的同學可以參考

《Choosing a fast unique identifier (UUID) for Lucene》:

https://blog.mikemccandless.com/2014/05/choosing-fast-unique-identifier-uuid.html

作者介紹

金多安,Elastic 認證專家,Elastic 資深運維工程師,死磕 Elasticsearch 知識星球嘉賓,星球Top活躍技術專家,搜索客社區日報責任編輯

責任編輯:武曉燕 來源: 銘毅天下Elasticsearch
相關推薦

2024-03-01 09:57:19

數據庫檢索項目

2010-09-28 09:43:37

DOM文檔對象模型

2020-03-17 23:08:32

數據Elasticsear存儲

2023-09-28 09:03:56

開源搜索分析引擎

2024-10-28 16:31:03

2012-07-19 09:38:04

Office 2013

2012-09-19 15:06:45

Lucene

2010-09-03 09:46:50

idclassCSS

2013-06-04 15:41:31

iOS開發移動開發block

2010-08-02 16:51:54

2017-03-06 16:13:41

深度學習人工智能

2024-06-24 00:07:00

開源es搜索引擎

2016-05-24 11:47:26

云計算數據恢復

2010-09-27 14:28:56

DHCP服務器

2011-11-10 14:21:48

Java

2022-11-22 08:01:30

2018-07-27 14:17:32

2011-05-31 09:38:48

OracleDUAL

2017-01-10 09:48:58

PHP語言Perl

2022-01-10 07:27:04

DataOps數據驅動
點贊
收藏

51CTO技術棧公眾號

国产传媒视频在线 | 亚洲日本三级| 欧美久久影院| 色哟哟精品一区| 视频在线99re| 六月婷婷综合网| 日韩二区三区四区| 久久av在线看| 麻豆三级在线观看| 激情在线视频播放| 日韩精品高清不卡| 不卡av日日日| 久操视频免费看| 欧美二区观看| 91久久精品一区二区三| 大地资源网在线观看免费官网| 飘雪影院手机免费高清版在线观看| 亚洲九九视频| 日韩毛片在线看| 伊人精品视频在线观看| 免费黄色网页在线观看| 成人av免费在线观看| 国产日韩精品入口| 国产精品久久久免费视频| 色婷婷色综合| 亚洲图片欧洲图片av| 久久久久久久久久久久国产精品| 精品久久久网| 91成人国产精品| aa视频在线播放| av官网在线播放| 国产精品色在线观看| 久久婷婷开心| 伦av综合一区| 欧美日韩综合| 久久精品视频亚洲| 97在线观看免费视频| 欧美自拍视频| 亚洲国产成人久久| 性生交大片免费看l| 日韩三级成人| 欧美日韩一区二区三区在线看| 日本精品免费在线观看| 国产不卡123| 91网页版在线| 国内一区在线| 亚洲精品一级片| 国产·精品毛片| 91久久爱成人| www.黄色一片| 国产99一区视频免费| 亚洲自拍偷拍色片视频| 国产精品亚洲lv粉色| 久久成人18免费观看| 成人免费激情视频| 97超碰资源站| 影音国产精品| 欧美寡妇偷汉性猛交| 国产精品无码永久免费不卡| 国产91精品入| 亚洲成人av资源网| 亚洲女则毛耸耸bbw| 亚洲视频三区| 91精品办公室少妇高潮对白| 97视频在线免费播放| 日本在线看片免费人成视1000| 国产午夜精品福利| 亚洲最大的成人网| va视频在线观看| 国产99精品国产| 国产精品一区二区三区观看| 黄色三级网站在线观看| 99久久er热在这里只有精品66| 国产亚洲福利社区| 欧美午夜黄色| 国产精品色婷婷久久58| 伊人久久大香线蕉成人综合网| 亚洲精品传媒| 亚洲欧美激情小说另类| 岛国大片在线播放| 小早川怜子影音先锋在线观看| 国产精品毛片久久久久久久| 中文字幕一区二区三区在线乱码 | 91视频免费版污| 久久av影院| 日韩三级中文字幕| 特级西西人体4444xxxx| 中文字幕日韩亚洲| 精品美女一区二区| 亚洲天堂av一区二区| 日本一区精品视频| 日韩激情第一页| 欧美日韩生活片| 欧美日韩成人| 国产ts一区二区| 国产露脸91国语对白| 99久久免费精品| 图片区小说区区亚洲五月| 黄网页免费在线观看| 五月综合激情网| 美女在线视频一区二区| 高潮按摩久久久久久av免费| 在线精品视频视频中文字幕| 中文字幕一区二区三区人妻不卡| 欧美午夜精彩| 亚洲视频综合网| 亚洲成人生活片| 久久久久久久高潮| 欧美一级免费看| 日韩成人av毛片| 久久av资源站| 欧美亚洲丝袜| 亚洲资源一区| 欧美性大战久久| 私密视频在线观看| 欧美精品播放| 国产精品一二三在线| 五月色婷婷综合| 一区二区三区在线播放| 亚洲欧美日韩一级| 欧美日韩夜夜| 欧美第一黄网免费网站| 伊人久久成人网| 久久99国产乱子伦精品免费| 久久久精彩视频| av影片在线| 欧美一二三区在线观看| 婷婷国产成人精品视频| 久久国产88| 精品视频第一区| 免费在线看污片| 日韩欧美国产综合| 午夜时刻免费入口| 男人天堂欧美日韩| 久久国产精品亚洲va麻豆| 黄污视频在线观看| 精品国产乱码久久久久久浪潮| 日韩成人高清在线| 超碰caoprom| 亚洲中无吗在线| 91精品国产自产在线老师啪| 国产一区二区三区福利| 精品人伦一区二区三区蜜桃网站 | 91视频最新入口| 国产 日韩 欧美 综合 一区| 久久久久这里只有精品| 亚洲产国偷v产偷v自拍涩爱| 中文字幕一区二区不卡| 中文字幕 91| 日韩欧美网站| 国产日本欧美一区二区三区在线| 成人免费黄色网页| 欧美亚洲日本国产| 国产黄色大片免费看| 日韩高清一区在线| 亚洲精品日韩在线观看| 日本久久一区| 久久香蕉国产线看观看网| 国产精品国产一区二区三区四区| 综合色天天鬼久久鬼色| 樱花草www在线| 亚洲综合五月| 官网99热精品| 日本在线影院| 亚洲视频欧美视频| 国产精品一区二区免费| 毛片在线播放a| 制服丝袜在线91| 久草资源在线视频| 99九九99九九九视频精品| 不卡影院一区二区| 日韩欧美大片| 波多野结衣成人在线| 大菠萝精品导航| 一个人看的www久久| 一级特黄aaa大片| 亚洲综合激情小说| 成人精品在线观看视频| 免费一级片91| 成人一区二区av| 亚洲国产最新| 成人午夜在线影院| 精品丝袜在线| 在线视频免费一区二区| 国产黄色片网站| 日本道精品一区二区三区| 99热在线观看精品| av一区二区不卡| jizz欧美性11| 日韩午夜一区| 一级做a爰片久久| 精品国产午夜肉伦伦影院| 国产精品日韩久久久久| 超碰97国产精品人人cao| 国产亚洲视频中文字幕视频| www五月婷婷| 欧美图片一区二区三区| 日本少妇裸体做爰| 国产精品久久久久aaaa| 国产 中文 字幕 日韩 在线| 久久99久久精品| www一区二区www免费| **女人18毛片一区二区| 97超碰国产精品女人人人爽| 国产区在线视频| 日本韩国一区二区| 免费中文字幕在线| 欧美国产日韩精品免费观看| 中文字幕乱视频| 黑人巨大精品欧美黑白配亚洲| 逼特逼视频在线| 欧美日韩国产高清| 一区二区在线观看网站| 久久综合色占| 国精产品一区二区| 一区二区三区在线免费看 | 日韩在线观看免费高清| 香蕉av在线播放| 日韩久久精品一区| 国产又色又爽又黄又免费| 在线观看国产91| 国产www在线| 欧美日韩一区二区免费视频| 日本免费一二三区| 亚洲精品自拍动漫在线| 中文字幕第二区| 国产日韩精品一区| 瑟瑟视频在线观看| av欧美精品.com| 成人在线观看一区二区| 国产成人综合亚洲网站| 女同激情久久av久久| 麻豆视频一区二区| 亚洲免费一级视频| 日韩国产成人精品| 亚洲一区在线不卡| 美女视频黄久久| 日韩av片网站| 六月丁香婷婷色狠狠久久| 99视频免费播放| 偷偷www综合久久久久久久| 欧美在线3区| 国产伦一区二区三区| 麻豆av一区二区| 自拍亚洲一区| 日韩免费一区二区三区| 国产亚洲一区二区三区啪| 欧美欧美一区二区| 精品久久影院| 亚洲欧美日韩精品在线| 999久久久精品国产| 色中文字幕在线观看| 综合视频在线| 男人天堂av片| 夜夜嗨av一区二区三区网站四季av| 久久精品国产sm调教网站演员| 欧洲激情视频| 五月天国产一区| 99视频精品全国免费| 四虎精品欧美一区二区免费| 国产精品豆花视频| 欧美 国产 综合| 婷婷亚洲最大| 国产成人一二三区| 一区二区三区成人精品| 成人黄色片视频| 免费成人在线视频观看| 91热视频在线观看| 成人久久视频在线观看| 麻豆av免费观看| 国产精品久久久久久久久图文区 | 91精品国产自产在线| 玖玖精品一区| 精品亚洲欧美日韩| 成人羞羞网站入口免费| 伊人网在线免费| 亚洲在线电影| 小明看看成人免费视频| 国产69精品一区二区亚洲孕妇 | 东京干手机福利视频| 日韩国产欧美区| 麻豆tv在线| 91精品国产乱码久久久久久蜜臀| 超薄肉色丝袜脚交一区二区| 亚洲在线视频福利| 国产精品一在线观看| 亚洲精品偷拍视频| 国产欧美欧美| 中文字幕国产高清| av动漫一区二区| 99热99这里只有精品| 午夜视频久久久久久| 中文字幕在线观看国产| 欧美va日韩va| 又爽又大又黄a级毛片在线视频| 欧美放荡办公室videos4k| 朝桐光一区二区| 国产精品久久国产精品| 日韩毛片视频| 男人添女人下面高潮视频| 九九精品视频在线看| 变态另类丨国产精品| 亚洲免费电影在线| av手机天堂网| 亚洲韩国日本中文字幕| 黄色在线论坛| 国产成人在线精品| 红杏一区二区三区| 天天综合五月天| 免费人成网站在线观看欧美高清| 青青草视频网站| 亚洲免费在线视频一区 二区| 成年人午夜视频| 日韩欧美一二三四区| 在线观看h片| 日韩一区二区在线视频| 色综合桃花网| 国产精品伊人日日| 亚洲五月综合| 日本超碰在线观看| 亚洲国产精品成人综合 | 青青草原国产在线| 成人精品视频99在线观看免费 | 国产精品国产精品国产| 亚洲成色777777在线观看影院| 超碰公开在线| 国内精品国产三级国产在线专| 日韩免费在线电影| 亚洲伊人婷婷| 美国一区二区三区在线播放| 无码一区二区三区在线| 欧美日韩中文字幕在线| 日本免费网站在线观看| 欧美极品美女视频网站在线观看免费 | 91综合在线| 午夜视频你懂的| 欧美激情在线观看视频免费| 在线观看日本视频| 亚洲免费av网址| 91亚洲欧美| 国产精品99久久久久久久久久久久| 性欧美lx╳lx╳| 亚洲欧美成人一区| 免费日本视频一区| 福利视频第一页| 欧美人伦禁忌dvd放荡欲情| 午夜小视频在线| 成人网中文字幕| 国内精品美女在线观看| 国产香蕉精品视频| 午夜私人影院久久久久| 香蕉国产在线视频| 国产精品福利在线观看网址| 精品国产一区二区三区香蕉沈先生 | 亚洲天堂网av在线| 91精品国产高清一区二区三区| 国产理论在线观看| 99高清视频有精品视频| 韩国一区二区三区在线观看| 中文字幕精品视频在线| 精品国产乱码久久久久久虫虫漫画| 亚洲色大成网站www| 国产盗摄xxxx视频xxx69| 成人在线免费小视频| 日本一二区免费| 亚洲专区一二三| 青青色在线视频| 国产玖玖精品视频| 欧美精品一级| 草草地址线路①屁屁影院成人| 在线亚洲高清视频| 超碰公开在线| 久久久久久久有限公司| 蜜桃av一区二区| 一区二区三区免费高清视频| 国产视频精品xxxx| 婷婷激情成人| 日韩五码在线观看| 国产欧美日韩在线| 国产老妇伦国产熟女老妇视频| 久久久噜噜噜久久中文字免| 九九免费精品视频在线观看| 国产永久免费网站| 精品久久久国产| 99青草视频在线播放视| 国产成人精品福利一区二区三区| 日韩精品亚洲专区| 老女人性淫交视频| 亚洲人在线视频| 一区三区自拍| 成人亚洲视频在线观看| 亚洲免费观看高清完整版在线 | 猫咪成人在线观看| 亚洲激情在线看| 色中色一区二区| 蜜乳av一区| 亚洲一区二区三区免费看| www.99精品| 99热在线只有精品| 国产极品精品在线观看|