国产秋霞理论久久久电影-婷婷色九月综合激情丁香-欧美在线观看乱妇视频-精品国avA久久久久久久-国产乱码精品一区二区三区亚洲人-欧美熟妇一区二区三区蜜桃视频

Elasticsearch 如何做到快速檢索 - 倒排索引的秘密

共 7322字,需瀏覽 15分鐘

 ·

2021-09-13 21:00

來源:https://ricstudio.top/archives/es-lucene-reverted-index

一、前言

最近接觸的幾個項目都使用到了 Elasticsearch (以下簡稱 ES ) 來存儲數(shù)據(jù)和對數(shù)據(jù)進行搜索分析,就對 ES 進行了一些學習。本文整理自我自己的一次技術分享。

本文不會關注 ES 里面的分布式技術、相關 API 的使用,而是專注分享下 ”ES 如何快速檢索“ 這個主題上面。這個也是我在學習之前對 ES 最感興趣的部分。


本文大致包括以下內容:

  • 關于搜索

    • 傳統(tǒng)關系型數(shù)據(jù)庫和 ES 的差別
    • 搜索引擎原理
  • 細究倒排索引
    • 倒排索引具體是個什么樣子的(posting list -> term dic -> term index)
    • 關于 postings list 的一些巧技 (FOR、Roaring Bitmaps)
    • 如何快速做聯(lián)合查詢?

二、關于搜索

先設想一個關于搜索的場景,假設我們要搜索一首詩句內容中帶“前”字的古詩,

用 傳統(tǒng)關系型數(shù)據(jù)庫和 ES 實現(xiàn)會有什么差別?

如果用像 MySQL 這樣的 RDBMS 來存儲古詩的話,我們應該會去使用這樣的 SQL 去查詢

select name from poems where content like "%前%";

這種我們稱為順序掃描法,需要遍歷所有的記錄進行匹配。

不但效率低,而且不符合我們搜索時的期望,比如我們在搜索“ABCD"這樣的關鍵詞時,通常還希望看到"A","AB","CD",“ABC”的搜索結果。

于是乎就有了專業(yè)的搜索引擎,比如我們今天的主角 -- ES。

搜索引擎原理

搜索引擎的搜索原理簡單概括的話可以分為這么幾步,

  • 內容爬取,停頓詞過濾

    比如一些無用的像"的",“了”之類的語氣詞/連接詞

  • 內容分詞,提取關鍵詞

  • 根據(jù)關鍵詞建立倒排索引

  • 用戶輸入關鍵詞進行搜索

這里我們就引出了一個概念,也是我們今天的要剖析的重點 - 倒排索引。也是 ES 的核心知識點。

如果你了解 ES 應該知道,ES 可以說是對 Lucene 的一個封裝,里面關于倒排索引的實現(xiàn)就是通過 lucene 這個 jar 包提供的 API 實現(xiàn)的,所以下面講的關于倒排索引的內容實際上都是 lucene 里面的內容。

三、倒排索引

首先我們還不能忘了我們之前提的搜索需求,先看下建立倒排索引之后,我們上述的查詢需求會變成什么樣子,

這樣我們一輸入“前”,借助倒排索引就可以直接定位到符合查詢條件的古詩。

當然這只是一個很大白話的形式來描述倒排索引的簡要工作原理。在 ES 中,這個倒排索引是具體是個什么樣的,怎么存儲的等等,這些才是倒排索引的精華內容。

1. 幾個概念

在進入下文之前,先描述幾個前置概念。

term

關鍵詞這個東西是我自己的講法,在 ES 中,關鍵詞被稱為 term。

postings list

還是用上面的例子,{靜夜思, 望廬山瀑布}是 "前" 這個 term 所對應列表。在 ES 中,這些被描述為所有包含特定 term 文檔的 id 的集合。由于整型數(shù)字 integer 可以被高效壓縮的特質,integer 是最適合放在 postings list 作為文檔的唯一標識的,ES 會對這些存入的文檔進行處理,轉化成一個唯一的整型 id。

再說下這個 id 的范圍,在存儲數(shù)據(jù)的時候,在每一個 shard 里面,ES 會將數(shù)據(jù)存入不同的 segment,這是一個比 shard 更小的分片單位,這些 segment 會定期合并。在每一個 segment 里面都會保存最多 2^31 個文檔,每個文檔被分配一個唯一的 id,從0(2^31)-1。

相關的名詞都是 ES 官方文檔給的描述,后面參考材料中都可以找到出處。

2. 索引內部結構

上面所描述的倒排索引,僅僅是一個很粗糙的模型。真的要在實際生產(chǎn)中使用,當然還差的很遠。

在實際生產(chǎn)場景中,比如 ES 最常用的日志分析,日志內容進行分詞之后,可以得到多少的 term?

那么如何快速的在海量 term 中查詢到對應的 term 呢?遍歷一遍顯然是不現(xiàn)實的。

term dictionary

于是乎就有了 term dictionary,ES 為了能快速查找到 term,將所有的 term 排了一個序,二分法查找。是不是感覺有點眼熟,這不就是 MySQL 的索引方式的,直接用 B+樹建立索引詞典指向被索引的數(shù)據(jù)。

term index

但是問題又來了,你覺得 Term Dictionary 應該放在哪里?肯定是放在內存里面吧?磁盤 io 那么慢。就像 MySQL 索引就是存在內存里面了。

但是如果把整個 term dictionary 放在內存里面會有什么后果呢?

內存爆了...

別忘了,ES 默認可是會對全部 text 字段進行索引,必然會消耗巨大的內存,為此 ES 針對索引進行了深度的優(yōu)化。在保證執(zhí)行效率的同時,盡量縮減內存空間的占用。

于是乎就有了 term index。

Term index 從數(shù)據(jù)結構上分類算是一個“Trie 樹”,也就是我們常說的字典樹。這是一種專門處理字符串匹配的數(shù)據(jù)結構,用來解決在一組字符串集合中快速查找某個字符串的問題。

這棵樹不會包含所有的 term,它包含的是 term 的一些前綴(這也是字典樹的使用場景,公共前綴)。通過 term index 可以快速地定位到 term dictionary 的某個 offset,然后從這個位置再往后順序查找。就想右邊這個圖所表示的。(怎么樣,像不像我們查英文字典,我們定位 S 開頭的第一個單詞,或者定位到 Sh 開頭的第一個單詞,然后再往后順序查詢)

lucene 在這里還做了兩點優(yōu)化,一是 term dictionary 在磁盤上面是分 block 保存的,一個 block 內部利用公共前綴壓縮,比如都是 Ab 開頭的單詞就可以把 Ab 省去。二是 term index 在內存中是以 FST(finite state transducers)的數(shù)據(jù)結構保存的。

FST 有兩個優(yōu)點:

  • 空間占用小。通過對詞典中單詞前綴和后綴的重復利用,壓縮了存儲空間
  • 查詢速度快。O(len(str)) 的查詢時間復雜度。

FST 的理論比較復雜,本文不細講

延伸閱讀:https://www.shenyanchao.cn/blog/2018/12/04/lucene-fst/

OK,現(xiàn)在我們能得到 lucene 倒排索引大致是個什么樣子的了。

四、關于 postings list 的一些巧技

在實際使用中,postings list 還需要解決幾個痛點,

  • postings list 如果不進行壓縮,會非常占用磁盤空間,
  • 聯(lián)合查詢下,如何快速求交并集(intersections and unions)

對于如何壓縮,可能會有人覺得沒有必要,”posting list 不是已經(jīng)只存儲文檔 id 了嗎?還需要壓縮?”,但是如果在 posting list 有百萬個 doc id 的情況,壓縮就顯得很有必要了。(比如按照朝代查詢古詩?),至于為啥需要求交并集,ES 是專門用來搜索的,肯定會有很多聯(lián)合查詢的需求吧 (AND、OR)。

按照上面的思路,我們先將如何壓縮。

1. 壓縮

Frame of Reference

在 lucene 中,要求 postings lists 都要是有序的整形數(shù)組。這樣就帶來了一個很好的好處,可以通過 增量編碼(delta-encode)這種方式進行壓縮。

比如現(xiàn)在有 id 列表 [73, 300, 302, 332, 343, 372],轉化成每一個 id 相對于前一個 id 的增量值(第一個 id 的前一個 id 默認是 0,增量就是它自己)列表是[73, 227, 2, 30, 11, 29]。在這個新的列表里面,所有的 id 都是小于 255 的,所以每個 id 只需要一個字節(jié)存儲。

實際上 ES 會做的更加精細,

它會把所有的文檔分成很多個 block,每個 block 正好包含 256 個文檔,然后單獨對每個文檔進行增量編碼,計算出存儲這個 block 里面所有文檔最多需要多少位來保存每個 id,并且把這個位數(shù)作為頭信息(header)放在每個 block 的前面。這個技術叫 Frame of Reference。

上圖也是來自于 ES 官方博客中的一個示例(假設每個 block 只有 3 個文件而不是 256)。

FOR 的步驟可以總結為:

進過最后的位壓縮之后,整型數(shù)組的類型從固定大小 (8,16,32,64 位)4 種類型,擴展到了[1-64] 位共 64 種類型。

通過以上的方式可以極大的節(jié)省 posting list 的空間消耗,提高查詢性能。不過 ES 為了提高 filter 過濾器查詢的性能,還做了更多的工作,那就是緩存

Roaring Bitmaps (for filter cache)

在 ES 中,可以使用 filters 來優(yōu)化查詢,filter 查詢只處理文檔是否匹配與否,不涉及文檔評分操作,查詢的結果可以被緩存。

對于 filter 查詢,es 提供了 filter cache 這種特殊的緩存,filter cache 用來存儲 filters 得到的結果集。緩存 filters 不需要太多的內存,它只保留一種信息,即哪些文檔與 filter 相匹配。同時它可以由其它的查詢復用,極大地提升了查詢的性能。

我們上面提到的 Frame Of Reference 壓縮算法對于 postings list 來說效果很好,但對于需要存儲在內存中的 filter cache 等不太合適。

filter cache 會存儲那些經(jīng)常使用的數(shù)據(jù),針對 filter 的緩存就是為了加速處理效率,對壓縮算法要求更高。

對于這類 postings list,ES 采用不一樣的壓縮方式。那么讓我們一步步來。

首先我們知道 postings list 是 Integer 數(shù)組,具有壓縮空間。

假設有這么一個數(shù)組,我們第一個壓縮的思路是什么?用位的方式來表示,每個文檔對應其中的一位,也就是我們常說的位圖,bitmap。

它經(jīng)常被作為索引用在數(shù)據(jù)庫、查詢引擎和搜索引擎中,并且位操作(如 and 求交集、or 求并集)之間可以并行,效率更好。

但是,位圖有個很明顯的缺點,不管業(yè)務中實際的元素基數(shù)有多少,它占用的內存空間都恒定不變。也就是說不適用于稀疏存儲。業(yè)內對于稀疏位圖也有很多成熟的壓縮方案,lucene 采用的就是roaring bitmaps。

我這里用簡單的方式描述一下這個壓縮過程是怎么樣,

將 doc id 拆成高 16 位,低 16 位。對高位進行聚合 (以高位做 key,value 為有相同高位的所有低位數(shù)組),根據(jù)低位的數(shù)據(jù)量 (不同高位聚合出的低位數(shù)組長度不相同),使用不同的 container(數(shù)據(jù)結構) 存儲。

  • len<4096 ArrayContainer 直接存值
  • len>=4096 BitmapContainer 使用 bitmap 存儲

分界線的來源:value 的最大總數(shù)是為2^16=65536. 假設以 bitmap 方式存儲需要 65536bit=8kb,而直接存值的方式,一個值 2 byte,4K 個總共需要2byte*4K=8kb。所以當 value 總量 <4k 時,使用直接存值的方式更節(jié)省空間。

空間壓縮主要體現(xiàn)在:

  • 高位聚合 (假設數(shù)據(jù)中有 100w 個高位相同的值,原先需要 100w*2byte,現(xiàn)在只要 1*2byte)
  • 低位壓縮

缺點就在于位操作的速度相對于原生的 bitmap 會有影響。

這就是 trade-off 呀。平衡的藝術。

2. 聯(lián)合查詢

講完了壓縮,我們再來講講聯(lián)合查詢。

先講簡單的,如果查詢有 filter cache,那就是直接拿 filter cache 來做計算,也就是說位圖來做 AND 或者 OR 的計算。

如果查詢的 filter 沒有緩存,那么就用 skip list 的方式去遍歷磁盤上的 postings list。

以上是三個 posting list。我們現(xiàn)在需要把它們用 AND 的關系合并,得出 posting list 的交集。首先選擇最短的 posting list,逐個在另外兩個 posting list 中查找看是否存在,最后得到交集的結果。遍歷的過程可以跳過一些元素,比如我們遍歷到綠色的 13 的時候,就可以跳過藍色的 3 了,因為 3 比 13 要小。

用 skip list 還會帶來一個好處,還記得前面說的嗎,postings list 在磁盤里面是采用 FOR 的編碼方式存儲的

會把所有的文檔分成很多個 block,每個 block 正好包含 256 個文檔,然后單獨對每個文檔進行增量編碼,計算出存儲這個 block 里面所有文檔最多需要多少位來保存每個 id,并且把這個位數(shù)作為頭信息(header)放在每個 block 的前面。

因為這個 FOR 的編碼是有解壓縮成本的。利用 skip list,除了跳過了遍歷的成本,也跳過了解壓縮這些壓縮過的 block 的過程,從而節(jié)省了 cpu。

五、總結

下面我們來做一個技術總結(感覺有點王剛老師的味道??)

  • 為了能夠快速定位到目標文檔,ES 使用倒排索引技術來優(yōu)化搜索速度,雖然空間消耗比較大,但是搜索性能提高十分顯著。
  • 為了能夠在數(shù)量巨大的 terms 中快速定位到某一個 term,同時節(jié)約對內存的使用和減少磁盤 io 的讀取,lucene 使用 "term index -> term dictionary -> postings list" 的倒排索引結構,通過 FST 壓縮放入內存,進一步提高搜索效率。
  • 為了減少 postings list 的磁盤消耗,lucene 使用了 FOR(Frame of Reference)技術壓縮,帶來的壓縮效果十分明顯。
  • ES 的 filter 語句采用了 Roaring Bitmap 技術來緩存搜索結果,保證高頻 filter 查詢速度的同時降低存儲空間消耗。
  • 在聯(lián)合查詢時,在有 filter cache 的情況下,會直接利用位圖的原生特性快速求交并集得到聯(lián)合查詢結果,否則使用 skip list 對多個 postings list 求交并集,跳過遍歷成本并且節(jié)省部分數(shù)據(jù)的解壓縮 cpu 成本

Elasticsearch 的索引思路

將磁盤里的東西盡量搬進內存,減少磁盤隨機讀取次數(shù) (同時也利用磁盤順序讀特性),結合各種壓縮算法,用及其苛刻的態(tài)度使用內存。

所以,對于使用 Elasticsearch 進行索引時需要注意:

  • 不需要索引的字段,一定要明確定義出來,因為默認是自動建索引的
  • 同樣的道理,對于 String 類型的字段,不需要 analysis 的也需要明確定義出來,因為默認也是會 analysis 的
  • 選擇有規(guī)律的 ID 很重要,隨機性太大的 ID(比如 Java 的 UUID) 不利于查詢

最后說一下,技術選型永遠伴隨著業(yè)務場景的考量,每種數(shù)據(jù)庫都有自己要解決的問題(或者說擅長的領域),對應的就有自己的數(shù)據(jù)結構,而不同的使用場景和數(shù)據(jù)結構,需要用不同的索引,才能起到最大化加快查詢的目的。

這篇文章講的雖是 Lucene 如何實現(xiàn)倒排索引,如何精打細算每一塊內存、磁盤空間、如何用詭譎的位運算加快處理速度,但往高處思考,再類比一下 MySQL,你就會發(fā)現(xiàn),雖然都是索引,但是實現(xiàn)起來,截然不同。籠統(tǒng)的來說,b-tree 索引是為寫入優(yōu)化的索引結構。當我們不需要支持快速的更新的時候,可以用預先排序等方式換取更小的存儲空間,更快的檢索速度等好處,其代價就是更新慢,就像 ES。

希望本篇文章能給你帶來一些收獲~

參考文檔

  • https://www.elastic.co/cn/blog/frame-of-reference-and-roaring-bitmaps
  • https://www.elastic.co/cn/blog/found-elasticsearch-from-the-bottom-up
  • http://blog.mikemccandless.com/2014/05/choosing-fast-unique-identifier-uuid.html
  • https://www.infoq.cn/article/database-timestamp-02
  • https://zhuanlan.zhihu.com/p/137574234

1. 面試官問:淘寶七天自動確認收貨,讓你設計,可以怎么實現(xiàn)?

2. 高速流水線,Jenkins Shared Pipeline

3. Chrome 靈魂插件,提高生產(chǎn)率!

4. Springboot 日志、配置文件、接口數(shù)據(jù)如何脫敏?老鳥們都是這樣玩的!

最近面試BAT,整理一份面試資料Java面試BATJ通關手冊,覆蓋了Java核心技術、JVM、Java并發(fā)、SSM、微服務、數(shù)據(jù)庫、數(shù)據(jù)結構等等。

獲取方式:點“在看”,關注公眾號并回復 Java 領取,更多內容陸續(xù)奉上。

文章有幫助的話,在看,轉發(fā)吧。

謝謝支持喲 (*^__^*)

瀏覽 78
點贊
評論
收藏
分享

手機掃一掃分享

分享
舉報
評論
圖片
表情
推薦
點贊
評論
收藏
分享

手機掃一掃分享

分享
舉報

感谢您访问我们的网站,您可能还对以下资源感兴趣:

国产秋霞理论久久久电影-婷婷色九月综合激情丁香-欧美在线观看乱妇视频-精品国avA久久久久久久-国产乱码精品一区二区三区亚洲人-欧美熟妇一区二区三区蜜桃视频 久久久久成人精品无码| 日韩不卡| 亚洲日韩国产AV无码无码精品| 无码国产一区二区三区四区五区| 日韩一区二区三区精品| 国产中文字字幕乱码无限| 日韩一级无码毛片| 操逼视频免费看| 精品无码一区二区三| 蜜桃BBwBBWBBwBBw| 91精品丝袜久久久久久久久粉嫩 | 黄色三级在线| 色婷网| 欧美性爱在线播放| 久久久女人| 久久精品片| 天天操嫩逼无套视频| 国产高清在线视频| 亚洲精品内射| 亚洲视频中文字幕| 日韩熟女视频| 成人网站免费视频| 熟女人妻一区二区| 亚洲熟妇AV日韩熟妇在线| 性爱AV网| 国产成人在线精品| 国产手机AV在线| 肏逼网| 亚洲无码高清在线观看| 尻屄网站| а√最新版天堂中文在线| 亚洲性爱影院| 国产9熟妇视频网站| 坏男人内射老太太| 三级毛片在线| 刘玥一级婬片A片AAA| 国产主播AV| 亚洲色人妻| 国产精品久久久无码专区| 三级丁香在线| 中文字幕在线观看一区| 夜夜骚av一区二区三区| 日韩A片无码ⅩXXXX| 亭亭五月丁香| 免费A网站| 日韩精品一| www.天天射视频| 爱搞视频在线观看| 有码在线| 久草黄色| 亚洲精品秘一区二区三区影| 久久久国产精品在线| 日韩午夜无码| 国产suv精品一区二区6精华液 | 尹人香蕉久久| 无码一区二区三区免费| 欧美色噜噜| 久操久| 黄色片成人| 爱搞搞就要爱搞搞| 色狠狠AV| 国产盗摄AV| 欧美精品A级片| 老骚老B老太太A片| 99久久久99久久91熟女| 国产性色| 91精品久久香蕉国产线看观看 | 日韩69视频| 亚洲三级国产| 俺来也影院| 成人免费区一区二区三区| 免费超碰| 亚洲一级黄色电影| 天天操夜夜爽| 91成人影片| 国产人妻| 国产一区二区AV| 99色综合| 欧美成人三级在线观看| 亚洲成人AV在线观看| 中文一区| 青娱乐老视频| 亚洲.欧美.丝袜.中文.综合 | 欧美天天撸| 草逼综合网| 操逼地址| 理论毛片| 操逼免费观看视频| 人成视频免费观看| av在线天堂| 国产精品毛片久久久久久久| 亚洲免费高清| 日韩欧美中文| 一区二区网站| 三级片网站视频| 国产精品美女久久久久久久久| 色婷婷欧美在线播放内射| 插逼免费视频| 狼友在线播放| 亚洲色图第一页| 久久久久久9| 男人天堂免费视频| 国产精品theporn| 强奸乱伦五月天| 亚洲AV性爱| 热的无码| 黄色小视频在线免费观看| 韩日一区二区| 日本天堂网| www黄色视频| 国产午夜福利电影| 国产欧美综合视频| 俺去了无码| 精品交换一区二区三区无码| 人人摸人人摸人人| 俺来也俺去也www色官| 无码做爱视频| 精品人妻无码一区二区三区四川人 | 被男友内S~高H文| 国产女主播在线播放| 91新婚人妻偷拍| 人妻体内射精| 俺也去官网| 成人小说视频| 亚洲爆乳无码一区二区三区| 西西4444WWW无码精品| 欧美成人在线观看视频| 水果派av| 上海熟搡BBB搡BBBB| 青青草资源站| 午夜H片| 蜜臀av网站| 久久久久a| 日日摸夜夜| 亚洲天堂无码高清| 在线免费观看黄色小视频| 夜夜狠狠擅视频| 国产黄色三级片| 五月婷婷六月丁香| 欧美高清国产| 91伊人久热精品| 国产精品久久久久久无人区| 12一15女人A片毛| 亚洲激情视频在线观看| 国产区精品| 亚洲无码一区二区三区四区| 三级片在线看片AV| 69精品免费视频| 国产精品国产三级国产AⅤ| 国产熟女av| 99在线看| 尤物最新网址| 成人精品在线视频| 欧美性国产| 激情婷婷av| 欧美精品久久久久久久久| 国产v欧美| 午夜福利影片| 日本一区二区三区在线视频| 成人黄色大片| 五月丁香激情六月| 中文字幕无码一区二区三区一本久 | 欧美a级视频| 麻豆mdapp01.tⅴ| 久久99九九| 仙踪林777777野大粗| 奇米狠狠777| 欧美日韩在线视频免费| 中文字幕一区在线| 白浆av| 人人摸人人搞| 久久嫩草精品| 久久永久免费| 无码在线观看免费视频| 国产婷婷色一区二区在线观看| 日韩激情在线| 午夜无码在线观看视频| 色五月婷婷小说| 人妻av中文无码| 高清无码中文字幕在线观看| 黄色成人在线视频| 德美日三级片在线观看| 日本成人黄色| 精品亚洲一区二区三区四区五区| 国产精品欧美一区二区三区苍井空 | 丁香五月天天| 亚洲区成人777777精品| 中文字幕AV在线观看| 久久狠| 国产无码久久久| 国产最新av| 久久av片| 天堂中文字幕在线观看| 亚洲操逼无码| 欧美三级欧美三级三级| 60分钟上大床又黄又爽| 高清无码免费观看| 午夜免费性爱视频| 牛牛aV| 欧美日韩色图| 亚洲精品大片| 懂色成人av影院| 国产3p绿帽骚妻视频| 91社区成人影院| 欧美伊人久久| 在线中文av| 91爱爱| 51成人精品午夜福利| 手机AV在线播放| 丁香五月影院| 中文字幕免费在线观看| 麻豆天美蜜桃91| 日韩在线看片| 九色国产| 天天操天天干欧美精品| 日韩无码福利| 欧美成人超碰| 牛牛Av| 日韩一级电影在线| 国内精品久久久久久久久久变脸 | 天天干天天干天天日| 豆花成人在线| 日韩永久免费| 亚洲熟女少妇| 亚洲A∨| 大鸡巴操B视频| 婷婷激情视频| 国产精品综合激情| 看一级黄色毛片| 中文字幕中文字幕无码| 99re这里| 欧美日皮视频| 国产狼友| 91碰碰| 五月激情丁香| 久久久久久成人无码| 成人免费A片在线观看直播96| 欧美午夜三级| 亚洲狼人| 成人福利视频在线| 色婷婷一区二区三区久久午夜 | 久久久高清无码| 国产精品片| 韩国日本美国免费毛片| 加勒比一区二区三区| 91在线免费视频观看| 高清无码网站| 狼友在线播放| 日本特黄AA片免费视频| 欧美日韩三级| 99操逼视频| 成人毛片100免费观看| 中文字幕视频一区| 欧美黄网站在线观看| 国产成人无码免费| 日韩AV免费| 熟女影音先锋| 亚洲无码在线视频播放| 一级黄色A片| 精品一区二区三区无码| 亚洲涩情91日韩一区二区| 另类AV| 日本黄色片在线播放| 毛片91| 免费黄色在线观看| 少妇一级婬片内射视频| 国产亲子乱XXXXinin| 三级丁香在线| 操婷婷逼| 不卡免费视频| 西西444大胆无码视频| 日韩无码免费电影| 日韩av电影在线观看| 国产精品一级无码免费播放 | 免费AV大全| 91女人18片女毛片60分钟| 91麻豆免费看| 欧美日韩一区二区三区四区五区六区| 港澳日韩黄片| 操逼短视频| 中文字幕天天在线| 精品国产自| 亚洲成人网站在线观看| 一级免费黄片| 波多野结衣av在线| 色色色成人视频| 加勒比DVD手机在线播放观看视频| 大香蕉精品一区| 蜜桃久久久久久久| 男女一区| 成人黄色无码视频| 真人一级毛毛片| 天天干视频在线| 黄色片A片| 无码任你躁久久久久| 福利视频免费观看| 波多野结衣无码在线视频| 日韩小电影免费观看高清完整版在线观 | 天天搞天天色| 十八无码成人免费网站| 大香蕉黄色片| 久久免费播放视频| 久久久久久高清毛片一级| 爱爱动态图| 日韩成人片无码| 草逼毛片| 大伊人久久| 亚洲色图在线观看| 综合天堂| 麻豆成人精品国产免费| 精品91海角乱| 大香蕉网站在线观看| 久久久久亚洲AV无码专区| 午夜福利影视| 99热这里只有精品9| 国产色自拍| 中文字幕日本人妻| xxxx国产| 天天谢天天干| 国产精品秘ThePorn| 亚洲色天堂网| 6969电视影片最新更新| 亚洲免费AV在线| 欧美成人性爱网站| 日日干视频| av天堂资源在线| 欧美一区二区三区精品| 夜夜撸视频| 久久久女人| 农村一级婬片A片AAA毛片古装| 91人人| av天天操| 午夜性爱AV| 日韩18禁| 草久在线| 中文字幕+乱码+中文乱码电影| 91大香蕉| 四虎影成人精品A片| 国精产品一区一区三区四川| 成人AV免费观看| 女人18片毛片90分钟免费明星| 操碰人人| JIZZJIZZ国产精品喷水| 欧美激情影院| 福利视频一区| 欧美AAAAAAAAAA特级| 国产精品国产三级国产AⅤ中文| 亚洲美女免费视频| 先锋AV资源| 日韩人妻午夜| 69福利网| 欧美爱爱网| 自慰喷水流白浆中文字幕| 九七在线视频| 2021天天操| 波多野结衣AV无码| 肏逼免费视频| 日韩人妻精品无码制服| 无套内射免费视频| 精品国产三级片| 亚洲在线高清视频| 超碰人妻97| 手机免费av| 日本操逼在线播放| 干干影院| 国产插穴| 黄色一级视频| 黄色av免费在线| 九九热re99re6在线精品| 亚洲无码门| 亚欧综合在线| 在线黄色AV| 国产日韩欧美| 色逼逼网| 国产免费AV片| 日本视频网| 亚洲成人免费观看| Av天堂图片在线| 亚洲自慰| 亚洲AV无码成人精品区天堂小说 | 日本黄色视频在线免费观看| 三级自拍| 麻豆少妇| 国产成人a亚洲精品无码| 手机在线成人视频| 特级A级毛片| 九九热播精品| 四虎成人精品无码永久在线的客服 | 欧美日韩高清在线| 丰满人妻一区二区免费看| 国产不卡在线观看| 亚洲欧美在线综合| 四虎综合| 麻豆黄片| 在线观看www视频| 夜夜骚av.一区二区三区| 操BBB操BBB| 婷婷久久综合久色综| 黄色小说在线播放| 三级高清无码| 免费看黄色A片| 亚洲天堂视频在线| AV操逼网| 一本色道久久综合亚洲二区三区 | av一区二区三区| 国产成人免费看| 日韩免费| 中文字幕第11页| 福利二区| 无码人妻一区二区三区免水牛视频| 中文字幕无码在线| 天天爽夜夜| 亚洲视频一区| 久久久久麻豆V国产精华液好用吗| 朝鲜性感AV在线| 五月天乱伦小说| 国产狂喷水潮免费网站www| 看肏屄视频| 午夜亚洲AV永久无码精品蜜芽| 在线a | 亚洲深夜福利| 天天综合色| 操逼视频网站免费观看| 欧美色色网| 色色一区二区| 国产综合色婷婷精品久久| 91精品免费视频| 亚洲激情欧美激情| 亚洲卡一卡二| 日本人妻在线观看| 亚洲日韩在线视频| 午夜激情乱伦| 成人免费内射视频| 99无码国产成人精品| 怡红院成人在线| 亚洲AV第二区国产精品| jlzzzjlzzz国产免费观看| 久操大香蕉| AV网站在线免费观看| 成人电影三区| 亚洲无码一区二区在线观看| 日韩无码1| 天天综合视频| AV在线一区二区三区| 午夜AV免费| 婷婷五月天亚洲| 操逼逼片| 懂色av粉嫩AV蜜臀AV| 日本欧美黄色| 亚洲精品久久久久久久蜜桃| 操操操操操| 极品一线天小嫩嫩真紧| 巨爆乳肉感一区二区三区视频| 成人国产在线观看| 亚洲无码一区在线| 大香蕉伊人9| 91蝌蚪在线| 夜夜骑天天| 中文字幕av高清片,中文在线观看 www一个人免费观看视频www | 天天狠天天干| 人人插人人干| 3D动漫精品啪啪一区二区竹笋 | A黄色片| 免费黄色片子| 五月六月丁香激情视频| 中文字幕亚洲综合| 91成人网站| 91丨露脸丨熟女精品| 偷拍一区二区| 一区二区三区免费播放| 先锋资源男人站| 在线免费无码| 青草青在线视频| 国产AV二区| 人人操在线公开| 午夜福利亚洲| 人人爽人人操人人| 揄拍成人国产精品视频| 国产在线小视频| 91在线无码精品秘入口三人| 秋霞丝鲁片一区二区三区手机在绒免 | 国产成人无码AⅤ片免费播放| 开心五月色婷婷综合开心网| 国产精品视频免费观看| 操逼视频在线看| 黄色三级av| 91视频免费在线看| 91av在线播放| 成人做爰黄AAA片免费直播岛国| 青青草公开视频| 亚洲一区自拍| 亚洲无码久久| 亚洲成人性爱网| 中文区中文字幕免费看| 特级特黄AAAA免费看| 无码啪啪| 内射学生妹| 一级片在线视频| 婷婷午夜精品久久久久久性色| 欧美aⅤ| 亚洲一级二级| 香蕉婷婷| 不卡视频一区二区| 9l视频自拍九色9l视频成人 | 天堂A片电影网站在线观看| 麻豆人妻换人妻好紧| 亚洲成人内射| 伊人逼逼| 国产在线你懂得| 日韩在线观看网站| 中文字幕在线观看视频www| 黑人大荫蒂女同互磨| 一级特黄妇女高潮AA片免费播放 | 黑人一区二区| wwwxx国产| 秋霞网一区二区| 高清无码学生妹| 亚洲日韩精品中文字幕在线| 口爆吞精在线观看| 精品孕妇孕交无码专区| 91在线无码精品在线看| 天天天做夜夜夜爽无码| 91探花精品偷拍在线播放| 国产黄色视频网站| 黄色亚洲| 四虎一区二区| 国产精品成人影视| 日韩中文字幕免费在线观看 | 日本免费高清视频| 黄色AV免费在线观看| 欧美日韩中文字幕在线视频| 国产精品久久久久久99| 91精品国产乱码久久| 北条麻妃视频在线播放| 国产精品HongKong麻豆| 热逼视频| 国产精品内射婷婷一级二| 国产三级网| 亚洲乱伦中文字幕| 五月天无码在线| 亚洲精品免费在线观看| 一级少女免费播放电视剧韩剧TV| 日韩欧美天堂| 豆花成人网站在线看| 欧美福利电影| 狠狠色狠狠操| 美女做爱在线观看| 国产AV无码区亚洲| 成人在线观看AV| 夜夜骚AV一二三区无码| 亚洲天堂一区| 91探花足浴店少妇在线| 国产精成人品| 巜人妻初尝按摩师BD中字| 日韩人妻无码中文字幕| 亚洲成人综合在线| 激情视频国产| 91久久香蕉囯产熟女线看蜜桃| 人人操综合| 久久极品| 欧美AA视频| 在线观看亚洲专区| 亚洲激情内射| 国产亚洲中文| a片视频网站| 欧美人妻中文字幕| 婷婷精品在线视频| 亚洲中文字幕免费在线观看| 亚洲天堂手机在线| 免费无码婬片AAAA片老婦| 日韩一区二区不卡| 山西真实国产乱子伦| 91精品在线观看视频| 午夜久久电影| 久久综合五月天| 免费播放婬乱男女婬视频国产| 日韩欧美第一页| 久草精品视频| 免费操逼视频在线观看| 天天综合天天做天天综合| 人人干人人操人人摸| 在线黄| 99久久婷婷国产综合精品草原 | 91国产在线播放| 另类老太婆性BBWBBw| 99这里有精品视频| 日韩高清无码电影| 西西444www| 亚洲视频一区二区三区| 久久国产V一级毛多内射| 懂色午夜福利一区二区三区| 国产一级a毛一级a毛片视频黑人| 日韩三级中文| 东京热观看| 人人操夜夜爽| 超碰操一操| 亚洲电影在线| 西西人体大胆裸体A片| 日韩一区二区免费视频| 亚洲综合图区| 欧美老妇性猛交| 亚洲中文视频| 国产美女操逼网站| 午夜福利视频无码| 色在线视频| 俺去也www俺去也com| 亚洲AV无一区二区三区久久| 亚洲无码AV一区二区三区| 亚洲第一av| 操逼视频网| 后入少妇视频| 人妖和人妖互交性XXXX视频| 亚洲免费观看高清完| 大香蕉免费网站| 91爱搞| 日本黄色三级视频| 女生自慰在线观看| 大香蕉伊人丁香五月| www.操逼网| 无码人妻精品一区二区蜜桃漫画| 久久久久久久久国产精品| AV无码免费观看| 午夜精品视频| 无码人妻丰满熟妇区毛片蜜桃麻豆| 91亚洲一区| 一级大片免费看| 搡中国东北老女人视频| 日韩无码一二三| 欧美性猛交一区二区三区| 91AV免费看| 色欧美视频| 成年人黄色电影| 亚洲日韩高清无码| 欧美三级视频在线观看| 国产精品久久久久久亚洲毛片 | 欧美成人第一页| 亚洲一级黄色电影| 婷婷精品秘进入| 性九九九九九九| 激情动态视频| 午夜免费播放观看在线视频| 亚洲精品成人网站| 91在线无码精品秘入口三人| 国产精品一区在线观看| 美女少妇激情BBBB| 亚洲精品一二| 国产性生活| 亚洲欧美成人在线| 男人的天堂婷婷| 欧美级毛片一进一出夜本色| 内射免费看| 波多野结衣99| 黄色成人网址| 九九偷拍视频| 成人亚洲网| 九九久久99| 成人777| 欧美V亚洲| 欧美精品一卡| 欧美性爱网址| 日韩1234区| 亚洲日韩成人电影| 高清无码免费视频| 爱爱视频免费网站| 国产激情福利| 激情性爱婷婷色五月| 在线亚洲欧洲| 亚洲秘无码一区二区三区,| 人妻丝袜蕾丝高跟双飞| 久操免费观看| 少妇搡BBBB搡BBBB毛多多| 欧美一区二区三区成人| 一区二区日本| 人人爱人人操| 亚洲无| 777久久| 亚洲中文字幕在线视频| 亚洲人免费视频| 91美女网站| 欧美在线va| 久久久成人片| 淫一区二区| 91人妻人人爽人人澡| 午夜福利大片| 亚洲激情国产| 亚洲综合在线网| 操逼视频一区| 视频一区二区三| 无码国产精品一区二区三| 北条麻妃AV观看| 日本亚洲欧美| 免费看黄视频| 豆花视频logo进入官网| 无码精品一区二区三区在线观看| 亚洲成色A片77777在线小说| 麻豆三级片| 青青青青青操| 亚洲AV免费| 综合精品7799| 你懂的视频在线观看| 无码蜜桃一区二区| 巜人妻初尝按摩师BD中字| 久久av网站| 特级毛片片A片AAAAAA| 一区二区小视频| 成人毛片在线播放| 玖玖热在线视频| 人人操综合| 亚洲AV无码一区二区三区少妇 | 黄色电影视频在线| 狠狠操狠狠| 久久久久久免费| 免费无码高清视频| 欧美日黄| 逼特逼在线观看| www.AV在线| 18国产免费视频| 中文字幕在线免费观看电影| 影音先锋成人在线| 欧美中文字幕| av在线资源| 四虎成人免费视频| 北条麻妃一区二区三区在线观看| 射死你天天日| 在线成人视频网站大香蕉在线网站| 黄片免费视频观看| 国产一级a毛一级a做免费的视频| 国产一卡二卡在线| 热久久视频| 97国产免费| 国产秘精品区二区三区日本| 成人激情视频在线观看| 好操吊| 国产无套在线观看| 久久色资源| 亚洲AV综合色区无码国产播放| 欧美亚洲在线| 成人毛片一区二区三区无码| 在线日韩视频| 青青草原成人在线视频| 久久久久久国际四虎免费精品视频| 国产三级三级三级| 综合色综合| 国产精品网站在线观看| 操逼网站在线看| 三级视频在线播放| 91无码AⅤ在线| 亚洲激情精品| 成人第一页| 国产在线色| 午夜性爽视频男人的天堂| 91人妻人人| 亚洲日韩精品欧美一区二区yw| 青青草99| 亚洲少妇熟女| 高清av免费| 四川少妇BBBB槡BBBB槡| 精品在线播放视频| 18禁黄网站| 久久77777| 中文字幕无码一区二区三区一本久| 欧美黄片在线| 午夜久久电影| 欧美国产日韩视频| 91嫖妓站街按摩店老熟女| 亚洲精品久久久久久久久蜜桃 | 激情久久av| 豆花精品视频| 污污污www精品国产网站| 欧美亚洲日韩在线观看| 久久久久久一| 无码高清一区二区| 日韩区一中文字幕a∨| 综合久久av| 成人免费无码婬片在线| 午夜成人在线视频| 日日爱99| 久热99| 国产专区在线| 影音先锋成人AV资源| 牛牛影视一区二区| 人妻无码免费视频| 奇米88888| 思思热免费视频| 日韩免费视频| 天天操免费视频| 中文字幕成人免费视频| 免费一级A片| 国精产品一品二品国精| 好操吊| 老鸭窝久久久| 一区二区三区无码视频| 69视频国产| 欧美特黄一级视频| 中文字幕人成人乱| 中文无码av| 亚洲最新中文字幕| 香蕉操逼| 香蕉国产精品| 久久福利| 欧美性爱在线视频| 在线小黄片| 操操操综合| 国产女人精品视频| 国产精品成人视频| 国产性爱在线视频| 好吊顶亚洲AV大香蕉色色| 另类综合激情| 黄色视频在线观看亚洲一区二区三区免费| 国产主播福利| 欧美成人福利| 免费一级AAAAA片在线播放| 能看的黄色视频| 日韩一级A片| 日本精品码喷水在线看| 美女自慰网站免费| 一级少女免费播放电视剧韩剧TV| 天堂成人AV| 丝袜制服中文字幕无码专区 | 69av视频在线观看| 亚洲欧美日韩在线| 熟女人妻人妻の视频| 黄片大全免费看| 日本AAAA片| 91大神网址| 国产高清精品在线| 无码三级在线免费观看| 欧美视频在线播放| 99涩涩| 国产麻豆精品成人毛片| 成人免费乱码大片a毛片蜜芽 | 日韩精品一区二区三| 狼友视频在线观看| 亚洲无码免费在线| 亚洲AV无码乱码精| 午夜福利成人网站| 操B电影| 国产无码电影在线观看| 五月天四房播播| 无码伦理电影| 青青在线视频| 精品免费国产一区二区三区四区的使用方法| 中文在线字幕免费观看电视剧大全| 性爱视频免费| 国产成人免费在线视频| 91天天看| 午夜福利老司机| 国产aaaaaaaaaaaaa| 久久久免费黄色视频| 西西掰穴| 亲子乱婬一级A片| 免费看无码一级A片放24小时| 亚洲日韩Av无码中文字幕美国| 婷婷九九| 亚欧洲精品| 欧美日韩成人片| 国外成人性视频免费| 中文字幕巨肉乱码中文乱码| 久草大香蕉视频| 狠狠操天天操| 亚洲久爱| 中国极品少妇XXX| 亚洲va欧美va天堂v国产综合| 亚洲AV秘一区二区色盗战流出| 92午夜福利天堂视频2019| 亚洲午夜福利视频| 91婷婷| 中文字幕巨乱亚洲高清A片28| 免费激情网站| AV中文字幕网| 亚洲久久久久久| 黄色A片免费看| 中文字幕永久在线观看| 久久久久亚洲AV无码麻豆| 一本久久精品一区二区| 欧美又粗又长| 国产视频不卡| 六月婷婷中文字幕| 精品一区二区三区在线观看| 午夜理伦| 再深点好爽灬轻点久久国产| 亚洲性片| 国产精品无码ThePorn| 韩国无码观看| 韩国无码一区| 国产精品乱子伦视频一区二区| av天堂中文在线| 色综合一区二区三区| 日韩AV免费在线| 一级片免费视频| 人人摸人人射| 久久水蜜桃| 农村A片婬片AAA毛片| 黄色电影免费在线观看| 国产精品视频免费观看| 2025精品精品视频| 成人肏逼视频在线| 操一线天逼| 老熟女--91XX| 国产第页|