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

別再說你不會(huì)ElasticSearch,都給你整理好了

共 4557字,需瀏覽 10分鐘

 ·

2021-11-28 15:04

本文不會(huì)關(guān)注 ES 里面的分布式技術(shù)、相關(guān) API 的使用,而是專注分享下“ES 如何快速檢索”這個(gè)主題上面。這個(gè)也是我在學(xué)習(xí)之前對(duì) ES 最感興趣的部分。


本文大致包括以下內(nèi)容:


關(guān)于搜索:
  • 傳統(tǒng)關(guān)系型數(shù)據(jù)庫(kù)和 ES 的差別

  • 搜索引擎原理


細(xì)究倒排索引:

  • 倒排索引具體是個(gè)什么樣子的(posting list→term dic→term index)

  • 關(guān)于 postings list 的一些巧技(FOR、Roaring Bitmaps)

  • 如何快速做聯(lián)合查詢?


關(guān)于搜索


先設(shè)想一個(gè)關(guān)于搜索的場(chǎng)景,假設(shè)我們要搜索一首詩(shī)句內(nèi)容中帶“前”字的古詩(shī)。

用傳統(tǒng)關(guān)系型數(shù)據(jù)庫(kù)和 ES 實(shí)現(xiàn)會(huì)有什么差別?如果用像 MySQL 這樣的 RDBMS 來存儲(chǔ)古詩(shī)的話,我們應(yīng)該會(huì)去使用這樣的 SQL 去查詢:
select?name?from?poems?where?content?like?"%前%";

這種我們稱為順序掃描法,需要遍歷所有的記錄進(jìn)行匹配。不但效率低,而且不符合我們搜索時(shí)的期望。


比如我們?cè)谒阉鳌癆BCD"這樣的關(guān)鍵詞時(shí),通常還希望看到"A","AB","CD",“ABC”的搜索結(jié)果。于是乎就有了專業(yè)的搜索引擎,比如我們今天的主角 ES。



搜索引擎原理


搜索引擎的搜索原理簡(jiǎn)單概括的話可以分為這么幾步:

  • 內(nèi)容爬取,停頓詞過濾,比如一些無用的像"的",“了”之類的語(yǔ)氣詞/連接詞

  • 內(nèi)容分詞,提取關(guān)鍵詞

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

  • 用戶輸入關(guān)鍵詞進(jìn)行搜索


這里我們就引出了一個(gè)概念,也是我們今天的要剖析的重點(diǎn)倒排索引。也是 ES 的核心知識(shí)點(diǎn)。


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

倒排索引


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


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


當(dāng)然這只是一個(gè)很大白話的形式來描述倒排索引的簡(jiǎn)要工作原理。在 ES ?中,這個(gè)倒排索引是具體是個(gè)什么樣的,怎么存儲(chǔ)的等等,這些才是倒排索引的精華內(nèi)容。


①幾個(gè)概念

在進(jìn)入下文之前,先描述幾個(gè)前置概念。

term:關(guān)鍵詞這個(gè)東西是我自己的講法,在 ES 中,關(guān)鍵詞被稱為 term。

postings list:還是用上面的例子,{靜夜思,望廬山瀑布}是 "前" 這個(gè) term 所對(duì)應(yīng)列表。在 ES 中,這些被描述為所有包含特定 term 文檔的 id 的集合。


由于整型數(shù)字 integer 可以被高效壓縮的特質(zhì),integer 是最適合放在 postings list 作為文檔的唯一標(biāo)識(shí)的,ES 會(huì)對(duì)這些存入的文檔進(jìn)行處理,轉(zhuǎn)化成一個(gè)唯一的整型 id。


再說下這個(gè) id 的范圍,在存儲(chǔ)數(shù)據(jù)的時(shí)候,在每一個(gè) shard 里面,ES 會(huì)將數(shù)據(jù)存入不同的 segment,這是一個(gè)比 shard 更小的分片單位,這些 segment 會(huì)定期合并。


在每一個(gè) segment 里面都會(huì)保存最多 2^31 個(gè)文檔,每個(gè)文檔被分配一個(gè)唯一的 id,從 0 到 (2^31)-1。
相關(guān)的名詞都是 ES 官方文檔給的描述,后面參考材料中都可以找到出處。


②索引內(nèi)部結(jié)構(gòu)


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


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


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


term dictionary:于是乎就有了 term dictionary,ES 為了能快速查找到 term,將所有的 term 排了一個(gè)序,二分法查找。


是不是感覺有點(diǎn)眼熟,這不就是 MySQL 的索引方式的,直接用 B+樹建立索引詞典指向被索引的數(shù)據(jù)。

term index:但是問題又來了,你覺得 Term Dictionary 應(yīng)該放在哪里?肯定是放在內(nèi)存里面吧?磁盤 io 那么慢。就像 MySQL 索引就是存在內(nèi)存里面了。


但是如果把整個(gè) term dictionary 放在內(nèi)存里面會(huì)有什么后果呢?內(nèi)存爆了...


別忘了,ES 默認(rèn)可是會(huì)對(duì)全部 text 字段進(jìn)行索引,必然會(huì)消耗巨大的內(nèi)存,為此 ES 針對(duì)索引進(jìn)行了深度的優(yōu)化。


在保證執(zhí)行效率的同時(shí),盡量縮減內(nèi)存空間的占用。于是乎就有了 term index。


Term index:從數(shù)據(jù)結(jié)構(gòu)上分類算是一個(gè)“Trie 樹”,也就是我們常說的字典樹。


這是一種專門處理字符串匹配的數(shù)據(jù)結(jié)構(gòu),用來解決在一組字符串集合中快速查找某個(gè)字符串的問題。


這棵樹不會(huì)包含所有的 term,它包含的是 term 的一些前綴(這也是字典樹的使用場(chǎng)景,公共前綴)。


通過 term index 可以快速地定位到 term dictionary 的某個(gè) offset,然后從這個(gè)位置再往后順序查找。就想右邊這個(gè)圖所表示的。


怎么樣,像不像我們查英文字典,我們定位 S 開頭的第一個(gè)單詞,或者定位到 Sh 開頭的第一個(gè)單詞,然后再往后順序查詢?


lucene 在這里還做了兩點(diǎn)優(yōu)化,一是 term dictionary 在磁盤上面是分 block 保存的,一個(gè) block 內(nèi)部利用公共前綴壓縮,比如都是 Ab 開頭的單詞就可以把 Ab 省去。


二是 term index 在內(nèi)存中是以 FST(finite state transducers)的數(shù)據(jù)結(jié)構(gòu)保存的。


FST 有兩個(gè)優(yōu)點(diǎn):


  • 空間占用小:通過對(duì)詞典中單詞前綴和后綴的重復(fù)利用,壓縮了存儲(chǔ)空間。

  • 查詢速度快:O(len(str)) 的查詢時(shí)間復(fù)雜度。


FST 的理論比較復(fù)雜,本文不細(xì)講,延伸閱讀:


https://www.shenyanchao.cn/blog/2018/12/04/lucene-fst/

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



關(guān)于 postings list 的一些巧技


在實(shí)際使用中,postings list 還需要解決幾個(gè)痛點(diǎn):


  • postings list 如果不進(jìn)行壓縮,會(huì)非常占用磁盤空間。

  • 聯(lián)合查詢下,如何快速求交并集(intersections and unions)。


對(duì)于如何壓縮,可能會(huì)有人覺得沒有必要,”posting list 不是已經(jīng)只存儲(chǔ)文檔 id 了嗎?還需要壓縮?”,但是如果在 posting list 有百萬(wàn)個(gè) doc id 的情況,壓縮就顯得很有必要了。

比如按照朝代查詢古詩(shī),至于為啥需要求交并集,ES 是專門用來搜索的,肯定會(huì)有很多聯(lián)合查詢的需求吧 (AND、OR)。按照上面的思路,我們先將如何壓縮。


①壓縮


Frame of Reference:在 lucene 中,要求 postings lists 都要是有序的整形數(shù)組。


這樣就帶來了一個(gè)很好的好處,可以通過 增量編碼(delta-encode)這種方式進(jìn)行壓縮。


比如現(xiàn)在有 id 列表?[73, 300, 302, 332, 343, 372],轉(zhuǎn)化成每一個(gè) id 相對(duì)于前一個(gè) id 的增量值(第一個(gè) id 的前一個(gè) id 默認(rèn)是 0,增量就是它自己)列表是 [73, 227, 2, 30, 11, 29]。


在這個(gè)新的列表里面,所有的 id 都是小于 255 的,所以每個(gè) id 只需要一個(gè)字節(jié)存儲(chǔ)。


實(shí)際上 ES 會(huì)做的更加精細(xì):


它會(huì)把所有的文檔分成很多個(gè) block,每個(gè) block 正好包含 256 個(gè)文檔,然后單獨(dú)對(duì)每個(gè)文檔進(jìn)行增量編碼。


計(jì)算出存儲(chǔ)這個(gè) block 里面所有文檔最多需要多少位來保存每個(gè) id,并且把這個(gè)位數(shù)作為頭信息(header)放在每個(gè) block 的前面。這個(gè)技術(shù)叫 Frame of Reference。


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


FOR 的步驟可以總結(jié)為:

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


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

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


對(duì)于 filter 查詢,es 提供了 filter cache 這種特殊的緩存,filter cache 用來存儲(chǔ) filters 得到的結(jié)果集。


緩存 filters 不需要太多的內(nèi)存,它只保留一種信息,即哪些文檔與 filter 相匹配。同時(shí)它可以由其它的查詢復(fù)用,極大地提升了查詢的性能。


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


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


對(duì)于這類 postings list,ES 采用不一樣的壓縮方式。那么讓我們一步步來。首先我們知道 postings list 是 Integer 數(shù)組,具有壓縮空間。


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


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


但是,位圖有個(gè)很明顯的缺點(diǎn),不管業(yè)務(wù)中實(shí)際的元素基數(shù)有多少,它占用的內(nèi)存空間都恒定不變。


也就是說不適用于稀疏存儲(chǔ)。業(yè)內(nèi)對(duì)于稀疏位圖也有很多成熟的壓縮方案,lucene 采用的就是 roaring bitmaps。


我這里用簡(jiǎn)單的方式描述一下這個(gè)壓縮過程是怎么樣:


將 doc id 拆成高 16 位,低 16 位。對(duì)高位進(jìn)行聚合 (以高位做 key,value 為有相同高位的所有低位數(shù)組),根據(jù)低位的數(shù)據(jù)量 (不同高位聚合出的低位數(shù)組長(zhǎng)度不相同),使用不同的 container(數(shù)據(jù)結(jié)構(gòu)) 存儲(chǔ)。


  • len<4096 ArrayContainer 直接存值

  • len>=4096 BitmapContainer 使用 bitmap 存儲(chǔ)


分界線的來源:value 的最大總數(shù)是為2^16=65536. 假設(shè)以 bitmap 方式存儲(chǔ)需要 65536bit=8kb,而直接存值的方式,一個(gè)值 2 byte,4K 個(gè)總共需要2byte*4K=8kb。


所以當(dāng) value 總量 <4k 時(shí),使用直接存值的方式更節(jié)省空間。

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


  • 高位聚合(假設(shè)數(shù)據(jù)中有 100w 個(gè)高位相同的值,原先需要 100w2byte,現(xiàn)在只要 12byte)

  • 低位壓縮


缺點(diǎn)就在于位操作的速度相對(duì)于原生的 bitmap 會(huì)有影響。這就是 trade-off 呀。平衡的藝術(shù)。

②聯(lián)合查詢


講完了壓縮,我們?cè)賮碇v講聯(lián)合查詢。先講簡(jiǎn)單的,如果查詢有 filter cache,那就是直接拿 filter cache 來做計(jì)算,也就是說位圖來做 AND 或者 OR 的計(jì)算。


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

以上是三個(gè) posting list。我們現(xiàn)在需要把它們用 AND 的關(guān)系合并,得出 posting list 的交集。


首先選擇最短的 posting list,逐個(gè)在另外兩個(gè) posting list 中查找看是否存在,最后得到交集的結(jié)果。


遍歷的過程可以跳過一些元素,比如我們遍歷到綠色的 13 的時(shí)候,就可以跳過藍(lán)色的 3 了,因?yàn)?3 比 13 要小。


用 skip list 還會(huì)帶來一個(gè)好處,還記得前面說的嗎,postings list 在磁盤里面是采用 FOR 的編碼方式存儲(chǔ)的。


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


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

總結(jié)


下面我們來做一個(gè)技術(shù)總結(jié):


①為了能夠快速定位到目標(biāo)文檔,ES 使用倒排索引技術(shù)來優(yōu)化搜索速度,雖然空間消耗比較大,但是搜索性能提高十分顯著。


②為了能夠在數(shù)量巨大的 terms 中快速定位到某一個(gè) term,同時(shí)節(jié)約對(duì)內(nèi)存的使用和減少磁盤 io 的讀取。


lucene 使用 "term index→term dictionary→postings list" 的倒排索引結(jié)構(gòu),通過 FST 壓縮放入內(nèi)存,進(jìn)一步提高搜索效率。


③為了減少 ?postings list 的磁盤消耗,lucene 使用了 FOR(Frame of Reference)技術(shù)壓縮,帶來的壓縮效果十分明顯。


④ES 的 filter 語(yǔ)句采用了 Roaring Bitmap 技術(shù)來緩存搜索結(jié)果,保證高頻 filter 查詢速度的同時(shí)降低存儲(chǔ)空間消耗。


⑤在聯(lián)合查詢時(shí),在有 filter cache 的情況下,會(huì)直接利用位圖的原生特性快速求交并集得到聯(lián)合查詢結(jié)果,否則使用 skip list 對(duì)多個(gè) postings list 求交并集,跳過遍歷成本并且節(jié)省部分?jǐn)?shù)據(jù)的解壓縮 cpu 成本。


Elasticsearch 的索引思路


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


所以,對(duì)于使用 Elasticsearch 進(jìn)行索引時(shí)需要注意:


  • 不需要索引的字段,一定要明確定義出來,因?yàn)槟J(rèn)是自動(dòng)建索引的。

  • 同樣的道理,對(duì)于 String 類型的字段,不需要 analysis 的也需要明確定義出來,因?yàn)槟J(rèn)也是會(huì) analysis 的。

  • 選擇有規(guī)律的 ID 很重要,隨機(jī)性太大的 ID(比如 Java 的 UUID) 不利于查詢。


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


這篇文章講的雖是 Lucene 如何實(shí)現(xiàn)倒排索引,如何精打細(xì)算每一塊內(nèi)存、磁盤空間、如何用詭譎的位運(yùn)算加快處理速度。


但往高處思考,再類比一下 MySQL,你就會(huì)發(fā)現(xiàn),雖然都是索引,但是實(shí)現(xiàn)起來,截然不同?;\統(tǒng)的來說,B-tree 索引是為寫入優(yōu)化的索引結(jié)構(gòu)。


當(dāng)我們不需要支持快速的更新的時(shí)候,可以用預(yù)先排序等方式換取更小的存儲(chǔ)空間,更快的檢索速度等好處,其代價(jià)就是更新慢,就像 ES。

作者:Richard_Yi

來源:https://juejin.cn/post/6889020742366920712

版權(quán)申明:內(nèi)容來源網(wǎng)絡(luò),版權(quán)歸原創(chuàng)者所有。除非無法確認(rèn),我們都會(huì)標(biāo)明作者及出處,如有侵權(quán)煩請(qǐng)告知,我們會(huì)立即刪除并表示歉意。謝謝!

瀏覽 44
點(diǎn)贊
評(píng)論
收藏
分享

手機(jī)掃一掃分享

分享
舉報(bào)
評(píng)論
圖片
表情
推薦
點(diǎn)贊
評(píng)論
收藏
分享

手機(jī)掃一掃分享

分享
舉報(bào)

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

国产秋霞理论久久久电影-婷婷色九月综合激情丁香-欧美在线观看乱妇视频-精品国avA久久久久久久-国产乱码精品一区二区三区亚洲人-欧美熟妇一区二区三区蜜桃视频 人人上人人操| 波多野结衣一区| 朝鲜性感AV在线| 亚洲无码高清电影| 西西4444大胆无码视频| 丰满人妻一区二区三区精品高| 蜜桃传媒一区二区亚洲AV| 国产精品久久AV电影| WWW亚洲视频| 精品国产天线2024| 丰滿人妻一区二区三区| 黄片视频在线观看| 中文字幕在线观看福利视频| 91亚洲精华国产精华精华液| 婷婷射图| 中文字幕在线观看日韩| a色视频| 精品热99| 日韩无| 中文字幕有码在线| 91麻豆成人精品国产| 性生活无码| 大香蕉久久爱| 欧美精品无码一区二区| 国內精品久久久久久久| A级成人网站| 97在线鲁碰免费视频| 国产天堂在线观看| 免费av在线播放| 亚洲一级黄色片| 老女人AV| 久一精品| 海滩AV黑人| 天天干天天肏| www.日韩欧美| AAA片网站| 中文字幕AV一区| 欧美性69| 在线看片国产| 波多在线视频| 日本免费一区二区三区| 三须三级久久三级久久18| 99毛片| 亚洲小电影| 欧美日屄视频| 亚洲v天堂| 99久久久国产精品免费蜜臀| 97亚洲综合| 手机免费av| 国产一级操逼片| 无码精品电影| 亚洲av成人网| 草久免费视频| 天a堂8在线www| 日韩日韩日韩日韩日韩| 伊人9999| 欧美老妇BBBBBBBBB| 午夜成人福利片| 久久午夜无码鲁丝片午夜精品偷窥| 5D肉蒲团| 欧美日韩精品一区二区三区钱| 黄色视频在线免费观看高清视频 | 日本高清无码在线| 成人免费Av| 熟女伦乱| 国产精品观看| 五月丁香婷婷激情综合| 欧美黄色免费观看| 日韩av在线不卡| 亚洲色图欧美另类| 777免费观看成人电影视频| 亚洲综合在线播放| 久久久国产视频| 九一成人电影| 黄色电影免费在线观看| 亚洲无码视频在线免费观看| 天天精品| 日中文字幕| 国产大鸡吧| 黄色录像毛片| 91狠狠综合久久| 成年人视频免费| 国产精品一区二区视频| 日本精品视频一区二区| 免费在线观看黄色视频| 成人69AV| 中文字幕成人在线| 玖玖激情| 辽宁模特张雪馨视频最新| 日韩人妻精品中文字幕专区不卡 | 久久久久久久久久久亚洲| 高清无码波多野结衣| 中文字幕永久在线视频v1.0| 日韩精品久久久久久久酒店| 国产1024在线| 91丨熟女丨首页| 亚洲欧美日韩成人| 国产中文字幕在线播放| 国产又爽又黄A片| av麻豆| 成人日韩在线| 最近中文字幕高清2019中文字幕| 中文字幕高清无码在线观看| 日本四级片| 黄色视频在线观看国产| 欧洲无码一区二区三区| 五月丁香狠狠爱| 亚洲成人午夜电影| 樱桃码一区二区三区| 青草青在线| 在线观看中文字幕| 欧美激情三区| 爱爱高清视频| 国产www在线观看| 亚洲在线资源| 影音先锋一区| 最近中文字幕免费mv第一季歌词大全 | 91网站免费在线观看| 干妞网免费视频| 黄色av免费在线观看| 国产精品久久久久久久久久久久久久久久 | 成人免费A片在线观看直播96 | 国产理论电影| 三级片亚洲无码| 火淫玖玖免费精品| 97视频在线免费观看| 西欧超碰在线| 国产亲子乱婬一级A片| 婷婷狠狠干| 夜色精品视频| 日日干天天干| 波多野结衣一区二区三区在线观看| 精品国产一二三| 亚洲综合免费观看高清| 久久无码在线观看| 成人免费无码毛片| 91爱爱视频| www.日本黄色| 久久亚洲视频| AAA三级片| TheAV精尽人亡av| 加勒比DVD手机在线播放观看视频 日韩精品一区二区三区四区蜜桃视频 | 山东熟妇搡BBBB搡BBBB| 内射视频免费观看| 日韩亚洲在线视频| 香蕉婷婷亚洲丁香| 成人福利网| 人人操超碰在线观看| 九九久久影院| 婷婷成人电影| 一区二区三区四区五区无码| 国产一区视频18| 山东熟妇搡BBBB搡BBBB| 四虎欧美| 久热免费视频在线观看| 在线观看一区二区视频| 日逼视频免费观看| 亚洲激情视频在线观看| 欧美日韩在线观看中文字幕| 吴梦梦md0069| 国产精品v| 成人日批视频| 亚洲色图五月天| 啊啊嗯嗯视频| 亚洲天堂网在线观看| 色综合天天综合成人网| 国产一区久久| 无码精品一区二区三区在线观看| 丁香六月激情| a片在线视频| 91天天在线| 国产免费精彩视频| 夜夜操天天干| 成人高清无码在线| 亚洲天堂高清无码| 成人AV免费| 亚州AV无码| 日韩精品人妻中文字幕第4区| 女人av天堂| 亚洲国产成人精品激情在线| 伊人黄色| 国精品91无码一区二区三区在线| 国产日韩一区二区| 国产乱伦内射视频| 97人妻一区二区精品免费视频| 成人视频18| 国产高清无码自拍| 天天视频黄色| 蜜桃性爱视频| 91香蕉视频免费| 激情青青草| 欧美黄色大香蕉| 日本三级无码| 亚洲清高毛无码毛片| 精品日韩一区二区三区| 在线免费看黄视频| 成人丁香五月天| 99在线精品视频在线观看| 91av视频| 香蕉福利视频| 学生妹做爱视频| 国产一级女婬乱免费看| 国产毛片777777| 欧美三级无码| 91成人视频免费观看| 久久精品视频在线免费观看| 男人的天堂在线播放| 亚洲无吗在线播放| 爆乳一区二区三区AV| av自拍| 欧美黑人操逼| 日本爽妇网| 中文字幕日韩成人| 午夜人妻AV| 国产影视av| 五月天婷婷色播| 在线观看免费完整版中文字幕视频| 黄色av网站在线观看| 国产综合色婷婷精品久久| 人人操人人妻| 东京热视频在线观看| 伊人成人电影| 中文av在线播放| 牛牛影视av| 大香蕉久操视频| 天堂一区在线观看| 亚洲视频欧美视频| 日韩精品成人免费观看视频| 久久久久999| 国精品无码人妻一区二区三区 | 成人午夜免费视频| 蜜桃av秘无码一区二区| 中文字幕亚洲在线观看| 无码精品一区二区| 天天日天天射天天干| 91网站免费| 色色色色五月天| 欧美成人性爱图片| 久激情内射婷内射蜜桃欧美一级| 超碰婷婷| 日日操夜夜| 免费成人三级片| 少妇搡BBBB搡BBB搡HD(| 九九韩剧网最新电视剧免费观看 | 黄色性爱网址| 日p视频在线观看| 欧美va视频| 天堂中文在线a| 无码人妻av一区| 久久久久久久极品内射| 嫩草视频在线播放| 91婷婷在线| 自慰一区二区| av性爱在线| 日韩无码一二三区| 久久成人在线| 国产乱伦免费视频| 免费在线观看无码视频| 欧美自拍视频在线| www.婷婷六月天| 91视频人人| 黄色片视频在线观看| 免费三级网站| 亚洲天堂精品在线观看| 老女人的逼| 在线播放亚洲| 驲韩在线视频免费观看| 国产人妻| 91视频在线观看免费| 亚洲高清在线| 国产熟女一区二区三区五月婷| 国产变态另类| 一区二区三区小视频| 麻豆视频在线播放| 大鸡吧操视频| 一区二区三区电影网| 热久久91| 张柏芝BBw搡BBBB槡BBBBHDfree | 国产熟女露脸普通话对白| 一道本无码在线播放| 老太老熟女城中层露脸60| 影音先锋在线成人| 日韩AV中文| 久草手机视频| 国产TS丝袜人妖系列视频| 97精品国产| 蜜桃久久99精品久久久酒店| 大香蕉久久久| 国产综合亚洲精品一区二| 无码欧美精品一区二区| 九九九视频在线观看| 欧美精品一卡二卡| 色xxx| 美女做爱视频| avav无码| 91精品国产乱码| 91久久无码一区人妻A片蜜桃| 在线观看老湿视频福利| 91精品免费| 毛片毛片毛片毛片| 你懂的在线视频| XXX日韩| 欧美亚洲国产一区二区三区| 日本一级大片| 国产欧美精品| 亚洲无码成人电影| 天天色天天干天天| h视频在线观看网站| 亚洲精品69| 91女人18毛片水多的意思| 51乱伦| 免费a片观看| 青青操日日干| 亚洲精品视频免费看| 午夜成人av| 日本一级按摩片免费观看| gogogo免费高清在线偷拍| 中文字幕第23页| 欧美XXX黑人XYX性爽| 99人妻人人爽人人添人人精品| 免费中文资源在线观看| 欧美日韩免费观看视频| 黄网在线播放| 国产特级毛片| 91羞射短视频在线观看| 中文字幕AV在线免费观看| 四虎AV在线| 亚洲日韩AV无码| 麻豆91在线| 亚洲性生活| 91国产精品在线| 亚洲日本高清| 超碰人人干| 在线观看中文字幕视频| 婷婷五月天大香蕉| 亚洲三级视频在线观看| 日本操逼在线播放| 最新亚洲无码在线观看| 免费做a爰片77777| 日韩无码一级| 在线免费高清无码| 中文字幕A片| 色婷婷一区二区| 2019中文字幕在线| 超碰一区二区三区| AV不卡在线| 亚洲精品乱码久久久久久按摩观| 青青草网站在线观看| 欧美日韩国内| 成人黄色电影| 日韩成人AV毛片| 国产一卡二卡在线观看| 国产成人+综合亚洲+天堂| 丰满人妻一区二区三区46| 男女国产网站| 久久精品在线| 99久久精品国产成人一区二区 | 国产精品宾馆在线| 激情性爱五月天| 青青草视频免费看| 黄片中文字幕| 久久久性爱视频| 五月天激情片| 亚洲免费观看高清完整版在va线 | 懂色av粉嫩av蜜臀av| 国产精品久久AV电影| 久久久久久久网| 国产中文字幕在线视频| 老司机精品视频在线观看| 视色视频在线观看18| 九九热只有精品| 九九热99视频| 91久久精品无码一区| 色情五月| 五月天无码免费视频| 成人国产精品视频| 婷婷五月天激情丁香| 日韩不卡视频在线| 午夜福利成人| 91人人精品| 99自拍视频| 国产日韩欧美久久| 亚洲成人综合在线| 少妇69p| 天天射天天射| 青青草手机在线视频| 国产日韩91| 免费无码婬片AAAA片直播| 激情日逼| 亚洲丁香网| 三级无码视频| 精品国产va久久久久久久| 农村A片婬片AAA毛片| 自拍三级| 亚洲成人精品在线观看| 国产精品美女久久久| 久久一区二区三区四区五区| 国产96在线亚洲| 色婷婷影视| 在线观看高清无码| 亚洲伊人成人| 99激情| 日日搔AV一区二区三区| 午夜社区| 2018天天操天天干| 国产精品免费观看久久久久久久久 | 一区二区三区四区免费看| 国产清纯可爱美女自卫裸贷偷情| 777777国产7777777| 日韩无码成人电影| 久热视频在线| 性爱免费专区| 毛片毛片毛片毛片毛片| 久草资源视频| 制服丝袜大香蕉| 欧美51精品| 99re在线观看视频| 一本色道无码人妻精品| 免费黄色一级片| 国产成人一区二区无码| 麻豆视频在线观看| 国产人妻一区二区精选| 免费毛片网站| 老司机视频在线视频18| 健身房被教练3p喷水了| 日本特黄AA片免费视频| 内射学生妹J亅| 在线无码视频播放| 特级西西人体www高清大胆| 亚洲在线看| 性爱日韩| 亚洲国产另类精品| 69视频国产| 日韩AV无码高清| 中文黄片| 污视频网站在线观看| 91大神免费在线观看| 亚洲欧美激情小说| 国产suv精品一区二区6精华液| 免费操逼视频网站| 国产麻豆一区二区三区| 国产欧美一区二区三区视频| 成年人黄色电影| 粉嫩99精品99久久久久久特污兔 | 柠檬福利第一导航| 91久久精品一区二区三| 超碰人人干人人操| 成人a毛片| 国产操逼小视频| 亚洲国际中文字幕在线| 欧美一级aa| 亚洲国产欧美在线| 无码人妻AⅤ一区二区三区A片一| 9色网| 黄色大片视频| 国产亚洲AV| 少妇高潮无码| 色欲AV秘无码一区二区三区| 国产熟女乱伦| 夜夜操网站| 国产精品久免费的黄网站| 青青在线视频| 精品国产一区二区三区久久久蜜月 | 996热| 奇米狠狠色| 亚洲色图1| 人人草人人搞| 乱伦三区| 午夜成人在线视频| 蜜乳av红桃嫩久久| 国产精品一二三| 国产在线拍偷自揄拍无码一区二区 | 久色视频| 亚洲精品一区二区三| 国产成人精品久久| 久久久www成人免费毛片| 亚洲无码动漫| 国产黄色片视频| AV老鸭窝| 午夜成人福利视频在线观看| 人人妻人人澡人人爽人人DVD| 日本男人天堂| 91AV在线观看视频| 在线一区二区三区| 人妻人人操人人爽| 无码水蜜桃一区二区| 午夜福利免费在线观看| 三级视频网站| 欧美亚洲性爱| 日韩精品免费无码视频| 天天草天天爽| 久久Av电影| 黄片一区二区| 91亚洲国产AⅤ精品一区二区 | 国产丝袜视频| 精品人妻二区三区蜜桃| 国产AV二区| 先锋影音一区二区三区| 亚洲日韩视频在线观看| 丁香在线视频| 国产手机精品视频| 欧美一级免费视频| 老女人操逼网| www.欧美| 久久cao| 尤物com| 国产丰满乱子伦无码| 精品国产一二三区| 亚洲AV五月天在线| 夜夜国自一区| 91欧美日韩综合| 热久久91| 东京热A片| 操美女91| 污视频在线观看免费| 亚洲在线观看视频| 国产在线观看| 人人爽人人爱| 一本色综合亚洲精品| 亚洲无码视频在线免费观看| 2024av在线| 91精品国产闺蜜国产在线闺蜜| 免费观看毛片| 中文字幕第315页| AV黄色在线| 天天干免费视频| 黑人粗大无码| 五月天色色小说| 精品夜夜澡人妻无码AV| 精品免费国产一区二区三区四区的使用方法 | 天天草B| 久久久人妻无码精品蜜桃| 又a又黄高清无码视频| 色色成人网| 久久久国产91桃色一区二区三区| 18禁黄色免费网站| 四个熟妇搡BBBB搡BBBB| 国产亚洲欧美视频| 中国精品77777777| 国产亚洲欧美日韩高清| 亚洲一区日韩| 人人干人人操人人爱| 俺去操| 亚洲色图在线观看| 高清无码在线观看视频| 亚洲A片在线观看| 九九乱伦| 91女人18片女毛片60分钟| 8x8x黄色| 丰满熟妇人妻中文字幕| 91天堂在线| 成人在线三级片| 影音先锋成人在线资源| 亚欧一区二区| 啪啪免费网| 在线高清无码视频| 免费观看在线黄片| 操逼人妻| 天堂网一区二区三区| 国产精品一区av| 国产精品嫩草久久久久yw193| 久草香蕉| 四川少妇bbb| 99r6热只有精品免费观看| 黄片网址在线观看| 手机无码在线播放| 亚洲最新AV在线| 91人妻人人澡人人爽人人精品一 | 国产AV无码专区| 亚洲视频福利| www.操| 西西人体44www大胆无码| 一本一本久久a久久精品牛牛影视| 欧美成年人视频| 亚洲无吗在线观看| 奇米影视77777| 七六十路の高齢熟妇无码| 午夜久久电影| 在线黄色AV| 91免费看片| 成人做爰黄AA片免费看三区| 先锋影音AV在线| 国产三级片在线视频| 国产精品v| 欧美激情在线| 免费黄色成人网站| 新亚洲天堂男子Av-| 男人天堂中文字幕| 国产另类自拍| 五月天国产视频| 熟女人妻在线视频| 中文字幕无码影院| 高清无码在线视频观看| 熟女人妻视频| 免费看国产黄色视频| 伊人88| A片在线免费看| 黄色片在线看| 在线观看免费完整版中文字幕视频| 波多野结衣无码流出| 欧美aⅤ| 大香蕉大香蕉免费网| 亚洲在线观看中文字幕| 久久久五月| 丰滿人妻-区二区三区| 日韩AV一区二区三区四区| 日韩啪| 久久久久久久免费视频| 中文亚洲字幕| 中文字幕色情| 中文字幕精品综合| 久久青娱乐| 日韩免费黄色视频| 一道本高清无码视频| 国产三级网| 中文无码AV| 日本一级婬片A片免费看| 玖玖国产精品| 一道AV| 黄色网页在线免费观看| 不卡AV在线| a无码| 蜜桃视频欧美| 我要操逼网| 亚洲三级在线视频| 婷婷久久久久| 在线视频亚洲| 国产又黄又大又粗| 欧美大鸡巴在线观看| ThePorn-成人网站入口| 九九乱伦| 亚洲成人无码视频| 久久久久人| 日韩第五页| 亚洲无码手机在线观看| 精东影业秘国产传媒| 你懂的在线视频| 亚洲码AV波多野| 麻豆视频免费观看| 午夜久久| 在线观看黄| 精品日韩在线视频| 一级黄色片网站| 97超碰资源| 国产77777| 婷婷五月18永久免费视频| 无码不卡中文字幕| 丁香五月天AV| 成人777| AV1区二区| 天天拍天天射| 国产视频二区| 丁香五月在线| 精精国产| 亚洲av毛片| 大鸡巴在线| 91最新国产| 3D动漫精品一区二区在线播放免费 | 国产黄色网页| 波多野结衣av在线观看窜天猴 | 无码不卡一区| 91香蕉国产视频| 去干网欧美| 六月丁香欧美综合| 超碰国产97| 日韩午夜AV| 欧美三级视频| 日韩1区2区| 精品资源成人| 成人视频网| 五月天综合久久| 最新日韩无码| 久久久大香蕉| 免费看黄色的网站| 嫩BBB槡BBBB槡BBBB撒尿| 国产精品毛片| 四虎在线免费视频| 亚洲无码精品在线观看| 91麻豆大奶巨乳一区白虎| 91妻人人澡人人爽人人精品| 国产欧美综合一区二区三区| 99成人乱码一区二区三区在线| 亚州无码精品| 天天爽天天爽| 天天摸天天肏| 欧美人人| 欧美一卡二卡| 亚洲无码。| 欧美污网站| 亚洲欧美精品AAAAAA片| 亚洲肏屄网| 欧美性爱中文字幕| 欧美一区二区三区在线播放| 欧美a√| 亚洲中文字幕人妻。| 狼友综合| 婷婷综合| 天堂va欧美ⅴa亚洲va一夜 | 亚洲va综合va国产va中文 | 91国内精品| 色片在线观看| 久久久www成人免费毛片| 激情五月天视频| 色呦呦一欧美| 中文在线无码| 亚洲第一伊人| 国产精品久久久大香蕉| 亚洲第一av| 俺去啦俺去也| 国产午夜无码视频在线观看| 丁香色婷婷五月天| 亚洲av毛片| 北条麻妃久久网站| 免费成人三级片| 91人人操| 成人日韩在线| 欧美在线视频99| 亚洲一卡二卡三卡四卡免| 天堂精品| 亚洲69v久久久无码精品| 无码在线免费观看视频| 青青草91在线| 91综合视频| 国产精品九九九九九九| 成人毛片18女人毛片| 亚洲AV一级| 欧美去干网| 亚洲高清无码视频大全| 亚洲高清视频在线| 欧美日皮| 成人无码专区| 国产精品第二页| 亚洲vs天堂vs成人vs无码| 亚洲激情内射| 中文字幕日本欧美| 国产AV| 亚洲影音先锋资源| 成人片在线| 97爱视频| 在线观看国产免费视频| 欧美国产在线观看| 大香蕉福利视频| 久久夜夜操| 无码迷穴| 天天操夜操| 欧洲黄色片| 色婷婷影院| 激情无码在线观看| 亚洲高清在线视频| 丰满人妻一区二区三区四区54| 五月天婷婷乱伦| 黄色电影一级片| 日韩中文字幕成人| 91女人18毛片水多的意思| 浮力影院av| 四房婷婷| 天堂网在线观看| 国产精品系列视频| 成人在线精品视频| 无码视频中文字幕| 黑人操逼| 国产嫩BBwBBw高潮| 国产一二| 嫩草在线精品| 嫩BX区二区三区的区别| 亚洲激情视频网站| 国产午夜在线| 蜜桃传媒入口| 久久68| 熟练中出-波多野结衣| 蜜桃人妻无码AV天堂二区| 欧美成人一区二区三区| 亚洲人天堂| 午夜福利免费在线观看| 欧美日韩免费看| 欧美囗交大荫蒂免费| 韩国精品一区| 无码人妻一区二区三区| 无码在线免费播放| 国产综合亚洲精品一区二| 99激情视频| 久久怡春院| 久久嫩草精品| 日韩av免费| 国产乱伦内射| 国产成人三级在线播放| 人妻第一页| 亚洲AV无码一区东京热久久| 亚洲无码在线精品| 欧美日韩免费| 午夜欧美| 婷婷国产综合| 中文在线а√天堂8| 免费无码婬片A片AAA毛片96| 欧美一级黄色大片| 亚洲精品美女视频| 欧美国产在线观看综合| 日逼免费视频| 日韩性爱小说| 北条麻妃无码视频在线| www黄片| 中文字幕99| 亚洲成人电影一区| 国产一级电影网站| 欧美性爱一区| 久久久久久久网站| 国产AV无码专区| 久久午夜鲁丝| 伊人乱伦| 麻豆精品在线| 老熟妇搡BBBB搡BBBB| 操操操操| 翔田千里高潮90分钟| 香蕉成人电影| 日韩色色网| 国产九九九视频| 久99在线视频| 91人人操| 五月天激情影院| 亚洲日韩黄色| 四川揉BBB搡BBB| 亚洲精品中文字幕无码| 久久538| 日韩无码av电影| 老熟女--91XX| 精品| 日逼视频免费观看| 久久综合久久鬼| 久久熟女嫩草成人片免费| 在线免费观看成人网站| 国产a一级a毛一级视频| 国产一区二区三区在线| 98国产精品| 日韩中文一区| 色欲欲www成人网站| 无码AV电影在线观看| 免费av一区二区| 五月婷婷色| 先锋影音av在线| 成人无码人妻| 青青草社区| 日韩精品丰满无码一级A片∴| 日本一区二区三区四区在线观看| 男女操逼免费观看| 操逼视频大全| 日韩AV高清| 口爆吞精在线| 91久热| 精品码产区一区二亚洲国产| 你懂得视频在线观看| 吴梦梦一区二区在线观看| 国产P片内射天涯海角| 日韩在线免费| 久操视频网| 91狠狠色丁香婷婷综合久久| 91无码人妻一区二区成人AⅤ| 无码区一区二区| 黄色在线播放| 三级无码在线播放| 天天色天天色| 亚洲视频在线观看播放| 18SAV| 狼人社區91國產精品| 九九毛片| 俺也操| 蜜臀色欲AV无码人妻| 亚洲无码在线播放| 日精品| 日韩黄频| 精品视频免费观看| 十八禁无码网站在线观看| 91色秘乱码一区二区| 五月天久久久久| 日日搔AV一区二区三区| 国产精品久久久久久无人区| 伊人大香蕉网站| 亚洲一区二区视频在线观看| 日B视频网站| 午夜视频无码| 久久精品国产AV| 国产青青操| 国产av电影网| 国产欧美精品一区二区三区| 男人的天堂视频在线观看| 怡红院爽妇网| 午夜福利sw| 精品乱子伦一区二区三区下载 | 亚洲成人在线免费观看| 欧美成人性爱网| 草逼片| 久久久999精品日韩一区二区 | 国产精品a片| 怡红院视频| 欧美日韩国产成人| 天天操天| 51乱伦| 丹麦电影《下午》| 色999网址| 国产熟女一区二区三区五月婷| 三级片在线看片AV|