2016-03-02 21 views
3

我仍在試圖找出_doc在elasticsearch中代表什麼? 從文檔,兩個地方我能找到它的用法是:_doc在elasticsearch中代表什麼?

  1. 而在整理,建議_doc更好,因爲通過_doc分類的好處是,elasticsearch可以有效地跳到下一個匹配的文件當移動到下一頁時(它將簡單地忽略所有具有比上次返回的文檔更小的doc ID的文檔)。 Source

  2. this git request中提到_doc的另一個引用,它將字段名稱與_doc對齊。

有人可以確切地告訴_doc究竟是什麼嗎?

回答

2

我相信這兩個用例都沒有使用_doc術語爲了同樣的目的:

  1. 排序關鍵字_doc是Elasticsearch 2新是舊掃描和滾動的方式來替代可以深入分析查詢結果。文檔中沒有實際的_doc字段。

  2. _doc語法來在搜索的_source部分被使用(或者獲取,更新等)請求未被實現爲在該git的討論開始時示出,但使用fielddata_fields字段代替。它與_doc在排序中的用法無關。

scripting documentation你會發現部分約document field data,那是非常快讀,因爲它是存儲在內存中,並使用類似的doc語法訪問(可能會增加混亂)。

+0

是的..我想是這樣的..對於排序的得到它似乎它只是使用文件編號..這是如何的問題..對於第二個用例我有點驚訝地看到使用字段名稱反對它..關於您提到的腳本,這個文檔與這個文檔是完全不同的。Aah confusion ..讓我們等待其他社區人員回覆 – piyushGoyal

+0

除了指定sort排序時實際用於排序的值:「_doc」' ,在我的回答中你不明白的是什麼?在fielddata_fields中返回的內容與使用'doc [fieldname]'語法的腳本完全相同。 – micpalmia

+0

對於遲到接受抱歉,但:-) – piyushGoyal