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

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

共 4817字,需瀏覽 10分鐘

 ·

2021-10-18 19:28

今日推薦
Java 8 一行代碼解決了空指針問題,太厲害了...
List中remove()方法的陷阱,被坑慘了!
25000 字詳解 23 種設(shè)計模式,原來可以這么簡單!
最牛逼的 Java 日志框架,性能無敵,橫掃所有對手.....
這玩意比ThreadLocal叼多了,嚇得我趕緊分享出來

一、前言

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

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


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

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

二、關(guān)于搜索

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

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

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

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

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

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

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

搜索引擎原理

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

  • 內(nèi)容爬取,停頓詞過濾
    • 比如一些無用的像"的",“了”之類的語氣詞/連接詞
  • 內(nèi)容分詞,提取關(guān)鍵詞
  • 根據(jù)關(guān)鍵詞建立倒排索引
  • 用戶輸入關(guān)鍵詞進行搜索

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

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

三、倒排索引

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

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

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

1. 幾個概念

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

term

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

postings list

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

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

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

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

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

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

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

term dictionary

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

term index

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

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

內(nèi)存爆了...

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

于是乎就有了 term index。

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

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

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

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

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

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

FST 的理論比較復(fù)雜,本文不細講

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

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

四、關(guān)于 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)。

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

推薦:Java進階視頻資源

1. 壓縮

Frame of Reference

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

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

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

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

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

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

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

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

Roaring Bitmaps (for filter cache)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

這就是 trade-off 呀。平衡的藝術(shù)。

2. 聯(lián)合查詢

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

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

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

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

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

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

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

推薦:Java進階視頻資源

五、總結(jié)

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

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

Elasticsearch 的索引思路

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

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

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

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

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

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

(感謝閱讀,希望對你所有幫助)
來源:ricstudio.top/archives/es-lucene-reverted-index

推薦文章


1、一款高顏值的 SpringBoot+JPA 博客項目

2、超優(yōu) Vue+Element+Spring 中后端解決方案

3、推薦幾個支付項目!

4、推薦一個 Java 企業(yè)信息化系統(tǒng)

5、一款基于 Spring Boot 的現(xiàn)代化社區(qū)(論壇/問答/社交網(wǎng)絡(luò)/博客)

瀏覽 27
點贊
評論
收藏
分享

手機掃一掃分享

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

手機掃一掃分享

分享
舉報

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

国产秋霞理论久久久电影-婷婷色九月综合激情丁香-欧美在线观看乱妇视频-精品国avA久久久久久久-国产乱码精品一区二区三区亚洲人-欧美熟妇一区二区三区蜜桃视频 加勒比综合| gogogo免费高清在线偷拍| 亚洲日韩在线视频| 亚洲vs无码秘蜜桃少妇| 夜色福利视频| 在线无码中文| 97操| 最近日本中文字幕中文翻译歌词| 亚洲日韩在线视频观看| 国产无码内射视频| 伊人春色AV| 麻豆一区二区三区| 色男人色天堂| 26∪u∪成人网站| 久久久精品免费视频| www.日韩一区| 亚洲香蕉影院| 操女人的网站| 国产一级电影网站| 91麻豆免费看| 亚洲综合在线视频| 99在线免费观看视频| 中文字幕第98页| 91九色91蝌蚪91窝成人| 婷婷成人综合| 中文无码熟妇人妻| 欧美黄页| 青青草原在线免费| 四季AV之日韩人妻无码| 天天干天天日天天干天天日| 日本欧美中文字幕| 五月亭亭在线视频| 丁香花在线小说免费阅读| 2019中文字幕在线免费观看| 国产三级视频| 中文字幕视频2023| 大香蕉在线电影| 欧美国产日韩在线| 成人在线h| 91老熟女视频| 欧美激情综合网| 色资源站| 久久牛牛| 国产黄色视屏| 国产黄网站| 激情爱爱网| 无码蜜桃吴梦梦| 一级a片在线播放| 一区二区av在线| 91精品国产综合久久久蜜臀图片| 波多野结衣被操| 在线天堂v| 久久久电影| 最新中文字幕观看| 蜜桃av秘无码一区二区三| 一级无码专区| 国产精品一麻了麻了| 欧美在线播放| 久热综合| 欧美三级片在线| 综合网久久| 欧美日韩黄色| 精品视频在线免费观看| 強姦婬片A片AAA毛片Mⅴ| 四虎无码| 亚洲黄色无码| 影音先锋三级片| 人妻日韩| 亚洲www.| 成人在线黄色视频| 大香蕉亚洲| 日韩视频免费观看| 国产又黄又爽| 激情五月婷婷| 久热综合| 婷婷五月天丁香| 黄色免费网站| 亚洲激情视频| 伊人婷婷色香综合| 被男友内S~高H文| 综合五月婷婷| 亚洲高清视屏| 成人性生交大片免费看小芳| 16一17女人毛片| 午夜福利av电影| 亚洲免费观看高清完整| 怡红院成人在线| 日韩无码流出| 国产成人精品a视频一区| 免费的黄色视频在线观看| 中文无码影院| 韩日av| 伊人免费成人视频| 久色视频在线| 亚洲一区二区在线播放| 六月婷婷中文字幕| 狠狠干中文字幕| 羞羞视频com.入口| 久久99久久99久久99人受| 日韩免费无码视频| 俺也去av| 婷婷色在线| 欧美日韩国产在线观看| 人妻无码| 木牛AV| 欧美理伦| 日少妇视频| 人人射人人射| 国产成人午夜高潮毛片| 大香蕉尹人视频| 九九九九色| 亚洲无码成人网| 亚洲精品成a人在线观看| 内射国产| 午夜精品无码| 99操| 国产无套在线| 国产精品麻豆视频| 动漫操逼视频| 先锋影音成人资源| 亚洲有码中文字幕| 中文资源在线a中文| 亚洲天堂精品视频| 狠狠色丁香| 91麻豆精品传媒国产| 91视频免费网站| 91精品无码| 脓肿是什么原因引起的,该怎么治疗| 日韩黄色中文字幕| 亚洲人做受| 二级黄色毛片| 亚洲一区翔田千里无码| 黄色电影天堂| 嫩BBB槡BBBB槡BBBB撒尿 | 久热人妻| 国产在线高清| 久久极品| 国产欧美一区二区三区四区 | 91伊人在线| 精品少妇一区| 色婷婷色五月| 爱爱毛片| 日韩操逼| 九九热精品视频99| 亚洲综合中文字幕在线播放| 91搞鸡| 69AV视频在线观看| 成人中文字幕在线| 亚洲中文无码视频| 色四播播| 国产夫妻自拍av| 国产亚洲精品午夜福利巨大软件| 水蜜桃视频在线| 国产天堂网| 日韩高清无码中文字幕| 99re99| 免费无码| 一区二区三区四区成人| ww免费视频| 丁香五月婷婷六月| 久久伊人网站| 日韩综合| 操15p| 国产网站视频| 日本色电影在线观看| 九九碰九九爱97超碰| www超碰| 在线看片a| 国产性精品| 无码不卡在线播放| 五月婷婷色色色| 99这里有精品| 91精品人妻一区二区三区| 丁月婷婷五香天日五月天| 久久成人一区| 青青操视频在线| 日本91| 一级黄色电影在线观看| 91精品国久久久久久无码一区二区三区| 91色色网| 特级西西人体www高清大胆| 日木毛片| 一区二区三区成人电影| 高清无码网站| 国外操逼视频| 国产操逼大片| 草草久久久无码国产专区的优势| 99色视频| 亚洲a视频在线| 福利视频在线| 欧美性爱怡红院| 日韩高清无码电影| 成人精品| 日韩干网| 日日操日日摸| 毛多水多丰满女人A片| 玖玖在线| 翔田千里在线一区二区三区| 中国丰满妇BBwBBwHD| 美女自慰网站免费| 岛国av免费| 亚洲国产精品成人综合色五月| 色就色欧美| 欧美极品另类| 欧美v日韩| 91久久精品无码一区二区三区| 麻豆18禁| 国产乱伦毛片| 成人视频无码| 91麻豆免费视频网站| 艹逼中文字幕| 久久国产热视频| 麻豆视频一区二区| 亚洲欧美日韩在线| 大香蕉综合伊人| 大香蕉免费在线观看| 亚洲自拍电影| 欧美视频操逼| 欧美+日韩+国产+成人+在线| 69xx视频| 在线观看污视频| 青娱在线视频| 欧美后门菊门交3p、| 久操福利| 日韩成人片| 在线视频观看一区| 天天摸天天日| 免费看操逼视频| 亚洲不卡免费视频| 色黄网站在线观看| 99涩涩| 国产乱伦视频| 一本久道无码| 在线亚洲免费| 亚洲高清免费| 强奸五月天| 国产91精品久久久天天| 成人啪啪视频| 国产激情精品视频| 日日射天天干| 特级特黄AAAAAAAA片| 欧美性爱XXXX| 亚洲AV无码专区在线播放中文| 国产肏逼视频| 精品看片| 69视频在线播放| 国产成人av在线| 亚洲免费在线婷婷| 久久久久久久免费无码| 三级视频网| 脓肿是什么原因引起的,该怎么治疗 | 中文在线字幕电视剧免费平台| 性爱免费专区| 色视频免费观看| 91禁樱桃在线| 逼逼75大秀| 亚洲秘无码一区二区三区电影| 欧美一级免费观看| 中文字幕精品在线免费视频观看视频 | 樱桃码一区二区三区| 国产麻豆免费| 91久久综合| 日韩小视频| 中文字幕丰满的翔田千里| 最近中文字幕在线| 欧美黄色一级| 亚洲AV无码乱码国产| 免费看黄片的网站| 小草久久95| 色播av| 亚洲精品456| 成人国产| 琪琪av| 91狠狠综合久久| 无码欧美精品一区二区| 操逼网国产| 天天射综合| 丁香婷婷综合网| 91免费视频观看| 乱子伦一区二区三区视频在线观看| 欧美成人福利在线观看| 中文字幕第八页| 精品久久三级片| 亚洲AV无一区二区三区久久| 亚洲中文在线观看| 亚洲AV图片| 亚洲精品一区二区三区在线观看| 丰满人妻一区二区三区Av猛交| 亚洲高清成人| 亚洲操逼图| 亚洲天堂一区在线观看| 欧美超碰在线| 污导航在线| 97久久一区二区| 成人超碰在线| 免费在线观看视频a| 不卡无码在线观看| 欧美一级无码| 青青青国产| 农民av| 国产一级二级三级片| 特级无码| 婷婷综合av| www.6969成人片亚洲| 免费观看久久久| 性淫影院| 色婷婷亚洲| 亚洲AV无码成人精品一区| 久久视频免费观看| 超碰午夜| 亚洲五月天在线| 精品久久91| 日韩视频网址| 农民av| 九九久久免费视频| 天天爽日日澡AAAA片| 天天日日日干| 淫香淫色综合网| 三级视频网址| 91探花视频| 91美女在线观看| 久操不卡| 婷婷综合缴情亚洲另类在线| 91精品在线观看视频| 中文字幕第一页在线| 无码一区视频| 激情网页| 国产精品久久久久无码AV| 青青草综合网| 热re99久久精品国产99热| 精品一区二区三区四区视频| 懂色一区二区二区在线播放视频| 亚洲无码在线视频播放| 伊人久久在线| 久久极品| a在线观看免费| 91探花秘在线播放偷拍| 免费成人AV| 日韩一级片在线播放| 国产在线不卡年轻点的| 国产精品91在线| 99热最新| 亚洲成人无码网站| 中文字幕精品在线免费视频观看视频 | 免费在线性爱视频| 亚洲视频免费在线播放| 国产精品一区网站| av天堂中文在线| 国产精选在线| 久久免费视屏| 精品人妻一区二区三区日产乱码| 最近中文字幕mv第三季歌词| 国产成人午夜福利视频| av资源站| 国产suv精品一区二区6精华液| 午夜高清无码视频| 欧美日韩在线视频免费播放 | 欧美淫乱视频| 大香焦伊人国产| 日韩免费无码视频| 亚州不卡| 中文字幕日韩有码| 超碰成人欧美| wwwav| 青青草成人在线观看| 91无码视频| 亚洲视频欧美| 国产绿奴09-01| 夜夜夜撸| 男女AV在线免费观看| 狠狠一区| 男人天堂无码视频| 国产在线激情视频| 中文字幕日韩亚洲| 亚洲欧美大香蕉视频网| 久操网址| 国产另类自拍| 中文在线a√在线8| 午夜av电影| 日皮免费视频| 国内自拍视频网| 久热中文字幕| 天堂a在线| 国产熟女一区二区三区五月婷| 91jiujiu| 肉色超薄丝袜脚交一区二区| 91久久国产性奴调教| 国产小视频在线看| 成人黄色免费| 91香蕉视频免费在线观看| 人妻77777| 91草视频| 18禁无码网站| 久久久网站| 色播一区| 大香蕉大香蕉大香蕉| 国产色综合视频| 加勒比综合无码| 手机免费AV| 操逼视频网站免费| 专业操美女视频网站| 日韩精品人妻中文字幕第4区| 69视频在线观看免费| 伊人久久电影| 三级A片视频| 欧美乱伦视频| 18AV在线观看| 日韩国产综合| 一级黄色电影网站| 欧美区亚洲区| 一区二区三区视屏| 四川少扫搡BBBBB搡B| 东京热视频网址| 免费黄色| 国产精品久久久久精| 做爱视频91| 污污污www精品国产网站| 欧美操逼大片| 国产熟女一区二区久久| 性插视频| 国产精品在线看| 中文字幕无码不卡| 黄色av网站免费| 97色色网| 久久久久久久麻豆| 精品人妻无码一区二区三区| 狠狠干网| 麻豆一区在线观看| 亚洲日韩一区二区三区| 久久久一区二区三区四区| 麻豆成人精品| 在线中文字幕777| 躁BBB躁BBB添BBBBBB| 无码高潮视频| 黄色视频一区二区| 中文字幕一区二区三区免费2023| 国产18水真多18精品| 国产精品秘久久久久久网站| 国产一卡二卡在线| 欧美+日韩+国产+成人+在线| 99热这里有精品| 亚洲春色一区二区三区| 日韩不卡视频在线观看| 亚洲一级二级| 影音先锋av中文字幕| 91人妻人人澡人人爽人人DVD| 亚洲群交| 亚洲一区在线免费观看| 欧美极品少妇| 日本操逼在线播放| 人人草人人看| 1插菊花网| 国产三级国产三级国产普通话| 免费黄色视频大全| 在线啊啊啊| 免费看特别黄色视频| 性色网| 俺去俺来也www色官网黑人| 五月天婷婷在线播放视频免费观看| 欧美亚洲| 日韩成人网站在线观看| 大香蕉九九| 日韩中文字幕熟妇人妻| 爱爱成人视频| 香蕉视频日韩| 在线成人亚洲| 日韩一级欧美一级| 视频二区| 操逼去| 伊人青草视频9| 91欧美视频| 伊香蕉大综综综合| 成年人毛片视频| 黄色成人网站在线免费观看| 中文字幕av第一页| 五月天久久综合| 91外围女视频| 日韩综合久久| 国产精品高清无码| 日逼高清视频| 蜜桃传媒一区二区| 免费操B视频| 无码在线免费播放| 免费黄色小视频在线观看| 亚洲免费视频观看| 久久99久久99精品免视看婷婷| 免费在线观看无码| 国产淫乱视频| 亚洲高清免费视频| 久久久噜噜噜| 欧美激情四射| 成人三级片视频| 免费播放片色情A片| 国产乱妇乱子伦视频免费观看让女人| 欧美亚洲成人在线观看| 在线亚洲免费观看| 欧美黄色网| 成人在线免费网站| 一区二区成人视频| 亚洲色人妻| 欧美日韩在线播放| 日韩毛片网| 日本色电影在线观看| 日韩在线观看免| 秋霞久久日| 操B无码| 激情深爱五月| 二区| 久久A√一区二区| 一区二区不卡| 亚洲高清AV| 日韩啊v| 国产精品自拍在线观看| 天堂8在线19| 77777色婷婷| 99久在线精品99re8热| 久久精品秘一区二区三免费| 激情婷婷六月| 精品一区二区三区蜜桃臀www | 国产精品天天干| 色秘乱码一区二区三区唱戏| 大香蕉75在线| 久操电影网| www.zaixianshipin| 久久伊人网站| 亚洲欧美日韩一区| 黄色成人视频免费看| 色噜噜网站| 黄色视频白丝| AV在线天堂| 中文字幕乱码亚州无线码日韩理论电 | 99热偷拍| 91视频在线免费看| 日韩无码视频观看| aaa精品| 中国免费视频高清观看| 无码v| 色图欧美色图| 黄片无码免费| 国内精品久久久久久久久久变脸 | 色小哥| 日逼99| 青娱乐国产| 偷拍第一页| 成人精品三级麻豆| 97亚洲视频| 国产精品免费久久| 黄网在线观看视频| 男女日皮视频| 国产精品黄| 好吊妞在线| 人人妻人人插| 大香蕉尹人在看| 综合黄色| 中文字幕资源站| 欧美mv日韩mv国产网站| 成人无码一区二区| 国产精品成人99一区无码 | 成人做爰黄A片免费看直播室动漫| 韩国无码片| 日韩日韩日韩日韩| 国产av网| 在线91网站| 成人免费黄| 中文字幕无码不卡| 久草这里只有精品| 国精品伦一区一区三区有限公司 | A片在线免费观看| 久久综合中文字幕| 无码黄| 亚洲成人娱乐网| 91AV免费在线观看| 美女A级毛片| 色噜噜网站| 久久A√一区二区| 欧美国产综合在线| 欧美日韩中文字幕无码| 91人人干| 女生自慰网站在线观看| 韩国精品一区二区三区| 人人干天天干| 国产激情在线观看视频| 啪啪动漫| 中文无码毛片| 天天天天色| 农村新婚夜一级A片| 亚洲无码影视| 一级黄色片免费看| 国产精品v| 成人特级毛片全部免费播放| 久久久噜噜噜| 中文解说AⅤ水果派| 日韩无码中文字幕视频| 大地av| 亚洲毛片亚洲毛片亚洲毛片| 91视频美女| 国产精品午夜在线观看| 干欧美美女| 亚洲精品一区二区二区的游戏情况| 青娱乐国产| 色情视频在线观看| 蜜桃久久久| 一本色道久久88加勒比| 97精品国产97久久久久久免费| 免费欧美A片| 另类欧美色图| 蜜臀av在线免费观看| 久久成人影音| 欧美偷拍一区| 日韩无码福利| 一本久久综合亚洲鲁鲁五月天| 干干影院| 777偷窥盗摄00000| 天天色区| 国外亚洲成AV人片在线观看| 一区二区在线不卡| 久久大香蕉| 日韩成人电影| 91视频一区| 欧美大香蕉视频| 大香伊人| 蜜臀久久99精品久久久老牛影视| 先锋影音av资源网| 91av成人| 香蕉久久a毛片| 91精品人妻一区二| 久久男人网| 成人特级毛片| 伊人久久免费视频| 免费a片视频| 国产精品视频福利| 九一九色国产| 熟妇人妻中文AV无码| 在线免费观看中文字幕| 亚洲欧美国产毛片在线| 凹凸熟女凹凸BBWBBW| 激情五月在线| 三级无码中文| 亚洲人妻无码视频| 亚洲日本高清| 国产棈品久久久久久久久久九秃| 午夜黄色小视频| 国产91精品探花一区二区| 欧美一级性爱视频| 免费A网站| 99视频在线看| 99精品丰满人妻无码| 国产一级片免费看| 日韩成人无码电影| 久热网| 黄色视频亚洲| 黄色成人视频| 悠悠色综合| 天天干夜夜骑| 黄色片免费在线观看| 第一页在线| 日本无码在线| 在线观看欧美日韩视频| 成人片成人网久久蜜桃臀| 中文字幕av高清片,中文在线观看 www一个人免费观看视频www | 欧美三级视频在线观看| 久久久三级| 成人伊人| 国产无码一区二区| 亚洲韩国中文字幕| 激情导航| 欧美激情性爱网站| 黄色自拍视频| 国产一级A片在线观看| 有免费的欧美操逼视频吗| 超碰色| 天天爽夜夜爽夜夜爽| 91久久久久久久久久久久18| 色欧美视频| 欧美成人无码一区二区三区| 国产av资源网| 丁香社区五月天| 国产三级AV在线| 91精品婷婷国产综合久久| 六月丁香网| 中文字幕熟女人妻| 中文字幕人妻日韩在线| 久久久久久久久久久高清毛片一级| 91人妻成人精品一区二区| 婷婷久久综合| 日韩黄色中文字幕| wwwxx在线观看| 黄片中文| 久久人视频| 无码不卡中文字幕| 九九九AV| 欧美综合第一页| 久久丁香五月| 亚洲AV无码精品| 日韩免费A片| 国内特级毛片| 日韩aaa| 日本久久人体视频| 成人午夜A片免费看| 中文字幕成人在线播放| 亚洲精品白浆高清久久久久久| 影音先锋男人网| 99天天操| 麻豆三级片在线观看| 91免费| 三级黄色视频| 麻豆乱伦| 粉嫩AV蜜乳AV蜜臀AV蜂腰AV | A片观看视频| 国产精品AV片| 国产91高跟丝袜| 亚州无码精品| 无码福利导航| 色99视频| 午夜福利成人视频| 黄色成人在线| 国产黄色电影| 中国一级黄片| 亚洲午夜激情| 国内精品久久久久久久久98| 一本色道久久综合无码人妻软件| 青春草免费视频| 国产—a毛—a毛A免费| 日韩成人无码AV| 无码高清视频| 俺也去俺去啦| 日韩精品观看| 丰满人妻一区二区三区四区53 | av啊啊| 欧美国产第一页| 国产精品揄拍100视频| 天堂网2014| 五月网站| 国产黄片视频| 国产中文人人国际| 少妇BBBB| 桃花岛tⅴ+亚洲品质| 婷色五月天| 欧美l∨视| 日韩高清无码一区二区| 亚洲欧美大香蕉视频网| 懂色一区二区二区在线播放视频| 99热999| 中文字幕第11页| 2018人人操| 超碰在线观看91| 欧美色五月| 欧美日韩AV| 国产主播专区| 无码1区| 91丨九色丨蝌蚪丨成人| 色婷婷精品| 国产十欧洲十美国+亚洲一二三区在线午夜 | 亚洲成人小说| 影音先锋一区二区| 亚洲中文自拍| 无码欧精品亚洲日韩一区| 亚洲尤物在线| 四季AV一区二区夜夜嗨| 欧美激情综合色综合啪啪五月| 成人片成人片| 大鸡吧大香蕉| 91视频第一页| 日韩AV一二三| 五月丁香激情视频| 天天爱天天操| 中文字幕H| 大香蕉尹人在看| 中文字幕+乱码+中文字幕电视剧| 无码中文字幕网站| 99视频在线| 成人在线视频一区| 国内自拍视频网站| 亚洲人成免费| 婷婷丁香激情五月天| 老司机永久免费91| 久久久久99| 操逼视频网站免费观看| av片在线观看| 一区二线视频| 欧美日韩一区二区三区在线电影| 综合网操笔| 欧美精品在线观看视频| 丁香六月天| 亚洲视频在线免费观看| 亚洲无码高清电影| 99精品免费观看| 欧美特黄AAAAAAAAA片| 伊人网址| 伊人久久大香色综合久久| 无码在线观看免费| 欧美偷拍精品| 亚洲国产高清视频| 国家一级A片| 免费黄色a片| 99精品在线观看视频| 国产乱码一区二区三区四区在线 | 日本高潮视频| 青娱乐青青草| 蝌蚪窝免费在线视频| 免费黄色福利视频| 欧美色色色色色| 亚洲精品一区二区三区在线观看| 日韩小电影在线观看| 人妻精品免费| 亚洲精品人伦一区二区| 伊人在线观看视频| 影音先锋女人aV鲁色资源网站| 亚洲日韩在线免费观看| 999免费视频| 三级成人网站| 色就操| 91蜜桃在线观看| 无码人妻丰满熟妇区毛片视频| 成人区123| 中文无码AV在线| 一级片成人| 98色色| 日韩成人AV在线播放| 久草电影在线观看| 免费看黄片,在线观看| 麻豆传媒嫂子| 欧美成人69| 成人日批视频| 91精品电影18| 99A片| 青青草成人在线观看| 亚洲免费中文字幕| 成人aV免费观看| 国产精品国产三级国产| 无码秘人妻一区二区三-百度| 91九九| 小黄片在线免费观看| 色天堂在线观看视频| 狠狠操综合| 中文无码人妻少妇| 成人色色| 天天舔天天日| 国产欧美综合视频一区二区在线| 男人天堂资源网| 东北女人操逼视频| www黄片| 色就操| 欧美在线v| 国产精品视频播放| 久热这里只有| 安微妇搡BBBB搡BBBB| 久久久久久久久久久高清毛片一级| 91视频熟女| 国产久久在线观看| 亚洲免费视频在线| 337P大胆粉嫩噜噜噜| 亚洲AV无码专区在线播放中文| 午夜黄色福利| av福利在线观看| 青青草原成人在线视频| 午夜一区| 日韩人妻无码网站| 久久久久99精品成人片三人毛片 | 7799精品视频天天看| 69成人精品国产| 国产免费激情视频| 婷婷国产视频| 国精产品一区二区三区黑人和中国 | 日本少妇高潮| 99久久婷婷国产综合精品青牛牛 | sm国产在线调教视频| 无码AⅤ一区二区三区| 在线一级A片| 亚洲国产成人在线视频| 一级a片在线观看| 人人操人人摸人人射| 亚州在线中文字幕经典a| 午夜激情视频在线观看| 先锋影音亚洲无码av| 免费看黄在线看| 无码-ThePorn| 欧美V在线| 亚洲精品久久久久久久久豆丁网 | 男女AV在线| 亚洲综合免费观看高清完整版在线| 日韩欧美一区在线| av三级片在线观看| 欧美日本一区二区三区| 91视频在| 亚洲无码第一页| www.91在线视频| 91亚洲高清| 成人毛片在线播放免费| 免费黄片在线| 成年人网站在线免费观看| 日韩欧美国产成人| 91丝袜一区在线观看| 久久99九九| 亚洲无码av网站| 大香伊人中文字幕精品| 青青草综合| 色情一级AA片免费观看| 一区二区三区在线观看| 91免费成人视频|