亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 數(shù)據(jù)庫 > Oracle > 正文

詳解Oracle數(shù)據(jù)庫中文全文索引

2019-09-08 23:30:45
字體:
供稿:網(wǎng)友

一、歷史背景

Oracle數(shù)據(jù)庫的全文檢索技術(shù)已經(jīng)非常完美,Oracle Text使Oracle9i具備了強(qiáng)大的文本檢索能力和智能化的文本管理能力。Oracle Text是Oracle9i采用的新名稱,在Oracle8/8i中它被稱作Oracle interMedia Text,在Oracle8以前它的名稱是Oracle ConText Cartridge。

二、Oracle Text 索引文檔時(shí)所使用的主要邏輯步驟如下

(1) 數(shù)據(jù)存儲邏輯搜索表的所有行,并讀取列中的數(shù)據(jù)。通常,這只是列數(shù)據(jù),但有些數(shù)據(jù)存儲使用列數(shù)據(jù)作為文檔數(shù)據(jù)的指針。

(2) 過濾器提取文檔數(shù)據(jù)并將其轉(zhuǎn)換為文本表示方式。存儲二進(jìn)制文檔 (如 Word 或 Acrobat 文件) 時(shí)需要這樣做。過濾器的輸出不必是純文本格式 -- 它可以是 XML 或 HTML 之類的文本格式。

(3) 分段器提取過濾器的輸出信息,并將其轉(zhuǎn)換為純文本。包括 XML 和 HTML 在內(nèi)的不同文本格式有不同的分段器。轉(zhuǎn)換為純文本涉及檢測重要文檔段標(biāo)記、移去不可見的信息和文本重新格式化。

(4) 詞法分析器提取分段器中的純文本,并將其拆分為不連續(xù)的標(biāo)記。既存在空白字符分隔語言使用的詞法分析器,也存在分段復(fù)雜的亞洲語言使用的專門詞法分析器。

(5) 索引引擎提取詞法分析器中的所有標(biāo)記、文檔段在分段器中的偏移量以及被稱為非索引字的低信息含量字列表,并構(gòu)建反向索引。倒排索引存儲標(biāo)記和含有這些標(biāo)記的文檔。

三、需要的權(quán)限

要使用Oracle Text,必須具有CTXAPP角色或者是CTXSYS用戶。Oracle Text為系統(tǒng)管理員提供CTXSYS用戶,為應(yīng)用程序開發(fā)人員提供CTXAPP角色。具有CTXAPP角色的用戶可執(zhí)行以下任務(wù):創(chuàng)建索引,管理 Oracle Text 數(shù)據(jù)字典,包括創(chuàng)建和刪除首選項(xiàng),進(jìn)行Oracle Text 查詢,使用 Oracle Text PL/SQL程序包。

如圖所示:

四、具體的實(shí)現(xiàn)

文本裝入文本列后,就可以創(chuàng)建Oracle Text索引。文檔以許多不同方案、格式和語言存儲。因此,每個(gè) Oracle Text 索引有許多需要設(shè)置的選項(xiàng),以針對特定情況配置索引。創(chuàng)建索引時(shí),Oracle Text可使用若干個(gè)默認(rèn)值,但在大多數(shù)情況下要求用戶通過指定首選項(xiàng)來配置索引。

每個(gè)索引的許多選項(xiàng)組成功能組,稱為"類",每個(gè)類集中體現(xiàn)配置的某一方面,可以認(rèn)為這些類就是與文檔數(shù)據(jù)庫有關(guān)的一些問題。例如:數(shù)據(jù)存儲、過濾器、詞法分析器、相關(guān)詞表、存儲等。

每個(gè)類具有許多預(yù)定義的行為,稱之為對象。每個(gè)對象是類問題可能具有的答案,并且大多數(shù)對象都包含有屬性。通過屬性來定制對象,從而使對索引的配置更加多變以適應(yīng)于不同的應(yīng)用。

(1)存儲(Storage)類

存儲類指定構(gòu)成Oracle Text索引的數(shù)據(jù)庫表和索引的表空間參數(shù)和創(chuàng)建參數(shù)。它僅有一個(gè)基本對象:BASIC_STORAGE,其屬性包括:I_Index_Clause、I_Table_Clause、K_Table_Clause、N_Table_Clause、P_Table_Clause、R_Table_Clause。

(2)數(shù)據(jù)存儲(Datastore)類

數(shù)據(jù)存儲:關(guān)于列中存儲文本的位置和其他信息。默認(rèn)情況下,文本直接存儲到列中,表中的每行都表示一個(gè)單獨(dú)的完整文檔。其他數(shù)據(jù)存儲位置包括存儲在單獨(dú)文件中或以其 URL 標(biāo)識的 Web 頁上。七個(gè)基本對象包括:Default_Datastore、Detail_Datastore、Direct_Datastore、File_Datastore、Multi_Column_Datastore 、URL_Datastore、User_Datastore。

(3)文檔段組(Section Group)類

文檔段組是用于指定一組文檔段的對象。必須先定義文檔段,然后才能使用索引通過 WITHIN 運(yùn)算符在文檔段內(nèi)進(jìn)行查詢。文檔段定義為文檔段組的一部分。包含七個(gè)基本對象:AUTO_SECTION_GROUP、BASIC_SECTION_GROUP、HTML_SECTION_GROUP、NEWS_SECTION_GROUP、NULL_SECTION_GROUP、XML_SECTION_GROUP、PATH_SECTION_GROUP。

(4)相關(guān)詞表(Wordlist)類

相關(guān)詞表標(biāo)識用于索引的詞干和模糊匹配查詢選項(xiàng)的語言,只有一個(gè)基本對象BASIC_WORDLIST,其屬性有:Fuzzy_Match、Fuzzy_Numresults、Fuzzy_Score、Stemmer、Substring_Index、Wildcard_Maxterms、Prefix_Index、Prefix_Max_Length、Prefix_Min_Length。

(5)索引集(Index Set)

索引集是一個(gè)或多個(gè)Oracle 索引 (不是Oracle Text索引) 的集合,用于創(chuàng)建 CTXCAT類型的Oracle Text索引,只有一個(gè)基本對象BASIC_INDEX_SET。

(6)詞法分析器(Lexer)類

詞法分析器類標(biāo)識文本使用的語言,還確定在文本中如何標(biāo)識標(biāo)記。默認(rèn)的詞法分析器是英語或其他西歐語言,用空格、標(biāo)準(zhǔn)標(biāo)點(diǎn)和非字母數(shù)字字符標(biāo)識標(biāo)記,同時(shí)禁用大小寫。包含8個(gè)基本對象:BASIC_LEXER、CHINESE_LEXER、CHINESE_VGRAM_LEXER、JAPANESE_LEXER、JAPANESE_VGRAM_LEXER、KOREAN_LEXER、KOREAN__MORPH_ LEXER、MULTI_LEXER。

(7)過濾器(Filter)類

過濾器確定如何過濾文本以建立索引。可以使用過濾器對文字處理器處理的文檔、格式化的文檔、純文本和 HTML 文檔建立索引,包括5個(gè)基本對象:CHARSET_FILTER、INSO_FILTER INSO、NULL_FILTER、PROCEDURE_FILTER、USER_FILTER。

(8)非索引字表(Stoplist)類

非索引字表類是用以指定一組不編入索引的單詞 (稱為非索引字)。有兩個(gè)基本對象:BASIC_STOPLIST (一種語言中的所有非索引字) 、 MULTI_STOPLIST (包含多種語言中的非索引字的多語言非索引字表)。

具體操作實(shí)踐

1、 創(chuàng)建詞法分析器及相關(guān)詞表

Begin

-- 定義一個(gè)詞法分析器

ctx_ddl.drop_preference('cnlex');

ctx_ddl.create_preference('cnlex','CHINESE_LEXER'); --針對中文

-- 定義一個(gè)相關(guān)詞表

ctx_ddl.create_preference('mywordlist', 'BASIC_WORDLIST');

ctx_ddl.set_attribute('mywordlist','PREFIX_INDEX','TRUE');

ctx_ddl.set_attribute('mywordlist','PREFIX_MIN_LENGTH',1);

ctx_ddl.set_attribute('mywordlist','PREFIX_MAX_LENGTH', 5);

ctx_ddl.set_attribute('mywordlist','SUBSTRING_INDEX', 'YES');

end;

// 上面的語句中,如果是針對英語語種則可以采用下面的語句來定義詞法分析器

ctx_ddl.create_preference('mylex','BASIC_LEXER');

ctx_ddl.set_attribute('mylex','printjoins','_-');

2、 在需要?jiǎng)?chuàng)建全文索引的表中創(chuàng)建索引(索引類型必須是 ctxsys.context,即應(yīng)用上下文索引)

create index idx_person_desc on personinfo(persondesc)

indextype is ctxsys.context

parameters (

'DATASTORE CTXSYS.DIRECT_DATASTORE FILTER

CTXSYS.NULL_FILTER LEXER cnlex WORDLIST mywordlist');

-- 請注意此處采用的是NULL_FILTER過濾器,如果采用INSO_FILTER則不能對中文進(jìn)行全文索引

3、進(jìn)行全文索引的同步

exec ctx_ddl.sync_index('idx_user_info', '20M');

具體理解

Oracle實(shí)現(xiàn)全文檢索,其機(jī)制其實(shí)很簡單。即通過Oracle專利的詞法分析器(lexer),將文章中所有的表意單元(Oracle 稱為 term,此處我理解為單詞或者一些有意義的詞語) 找出來,記錄在一組以 dr$開頭的表中,同時(shí)記下該term出現(xiàn)的位置、次數(shù)、hash 值等信息。檢索時(shí),Oracle 從這組表中查找相應(yīng)的 term,并計(jì)算其出現(xiàn)頻率,根據(jù)某個(gè)算法來計(jì)算每個(gè)文檔的得分(score),即所謂的‘匹配率’。而lexer則是該機(jī)制的核心,它決定了全文檢索的效率。Oracle 針對不同的語言提供了不同的 lexer, 而我們通常能用到其中的三個(gè):

basic_lexer: 針對英語。它能根據(jù)空格和標(biāo)點(diǎn)來將英語單詞從句子中分離,還能自動(dòng)將一些出現(xiàn)頻率過高已經(jīng)失去檢索意義的單詞作為‘垃圾’處理,如if , is 等,具有較高的處理效率。但該lexer應(yīng)用于漢語則有很多問題,由于它只認(rèn)空格和標(biāo)點(diǎn),而漢語的一句話中通常不會有空格,因此,它會把整句話作為一個(gè)term,事實(shí)上失去檢索能力。以‘中國人民站起來了’這句話為例,basic_lexer 分析的結(jié)果只有一個(gè)term ,就是‘中國人民站起來了’。此時(shí)若檢索‘中國’,將檢索不到內(nèi)容。

chinese_vgram_lexer: 專門的漢語分析器,支持所有漢字字符集。該分析器按字為單元來分析漢語句子。‘中國人民站起來了’這句話,會被它分析成如下幾個(gè)term: ‘中’,‘中國’,‘國人’,‘人民’,‘民站’,‘站起’,起來’,‘來了’,‘了’??梢钥闯觯@種分析方法,實(shí)現(xiàn)算法很簡單,并且能實(shí)現(xiàn)‘一網(wǎng)打盡’,但效率則是差強(qiáng)人意。

chinese_lexer: 這是一個(gè)新的漢語分析器,只支持utf8字符集。上面已經(jīng)看到,chinese vgram lexer這個(gè)分析器由于不認(rèn)識常用的漢語詞匯,因此分析的單元非常機(jī)械,像上面的‘民站’,‘站起’在漢語中根本不會單獨(dú)出現(xiàn),因此這種term是沒有意義的,反而影響效率。chinese_lexer的最大改進(jìn)就是該分析器能認(rèn)識大部分常用漢語詞匯,因此能更有效率地分析句子,像以上兩個(gè)愚蠢的單元將不會再出現(xiàn),極大提高了效率。但是它只支持 utf8, 如果你的數(shù)據(jù)庫是zhs16gbk字符集,則只能使用笨笨的那個(gè)Chinese vgram lexer。

--以上的說法是針對于Oracle8i或者是更低級版本的,在Oracle 9.2中采用 Chinese_lexer 分析器測試是沒有這個(gè)問題的。

如果不做任何設(shè)置,Oracle 缺省使用basic_lexer這個(gè)分析器。要指定使用哪一個(gè)lexer, 可以這樣操作:

第一,在ctxsys用戶下建立一個(gè)preference:

ctx_ddl.create_preference('cnlex','CHINESE_LEXER');

第二,在建立intermedia索引時(shí),指明所用的lexer:

create index idx_person_desc on personinfo(persondesc)

indextype is ctxsys.context

parameters (

'DATASTORE CTXSYS.DIRECT_DATASTORE FILTER

CTXSYS.NULL_FILTER LEXER cnlex WORDLIST mywordlist')

這樣建立的全文檢索索引,就會使用CHINESE_LEXER作為分析器。

使用job定時(shí)同步和優(yōu)化

在intermedia索引建好后,如果表中的數(shù)據(jù)發(fā)生變化,比如增加或修改了記錄,怎么辦?由于對表所發(fā)生的任何dml語句,都不會自動(dòng)修改索引,因此,必須定時(shí)同步(sync)和優(yōu)化(optimize)索引,以正確反映數(shù)據(jù)的變化。

在索引建好后,我們可以在該用戶下查到Oracle自動(dòng)產(chǎn)生了以下幾個(gè)表:(假設(shè)索引名為myindex):

DR$myindex$I,DR$myindex$K,DR$myindex$R,DR$myindex$N

其中以I表最重要,可以查詢一下該表,看看有什么內(nèi)容:

select token_text, token_count from DR$I_RSK1$I where rownum<=20;

可以看到,該表中保存的其實(shí)就是Oracle 分析你的文檔后,生成的term記錄在這里,包括term出現(xiàn)的位置、次數(shù)、hash值等。當(dāng)文檔的內(nèi)容改變后,可以想見這個(gè)I表的內(nèi)容也應(yīng)該相應(yīng)改變,才能保證Oracle在做全文檢索時(shí)正確檢索到內(nèi)容(因?yàn)樗^全文檢索,其實(shí)核心就是查詢這個(gè)表)。那么如何維護(hù)該表的內(nèi)容呢?總不能每次數(shù)據(jù)改變都重新建立索引吧!這就用到sync 和 optimize了。

同步(sync):將新的term 保存到I表。

優(yōu)化(optimize):清除I表的垃圾,主要是將已經(jīng)被刪除的term從I表刪除。

檢查全文索引是否創(chuàng)建成功

1、檢查DR$myindex$I是否存在,其中的 myindex 代表建立的索引名稱;

2、檢查全文索引是否創(chuàng)建成功,最好采用 Contains來檢查,具體的語法為

Contains(ColumnName,SearcherKey) > 0

// ColumnName為所需要檢查的列名,也即創(chuàng)建了全文索引的列名

// SearcherKey 為你需要查找的內(nèi)容,為字符型

列如,按上面創(chuàng)建的全文索引,可以使用如下的語句:

Select * From PERSONINFO Where Containts(PERSONDESC, 'abcd',1) > 0

Select * From PERSONINFO Where Containts(PERSONDESC, 'abcd',1) > 0

如果你創(chuàng)建的全文索引不成功,則返回失敗,其內(nèi)容為:

ORA-20000: Oracle Text error: DRG-10599: 列沒有編制索引

當(dāng)然,如果你創(chuàng)建成功,則會正確返回?cái)?shù)據(jù)。還有一個(gè)檢查全文索引是否創(chuàng)建成功的方法是感覺創(chuàng)建全文索引后的查詢速度。

測試數(shù)據(jù)

下面是對一個(gè)表進(jìn)行操作時(shí),在同一臺機(jī)器中獲得的測試數(shù)據(jù)。

PersonInfo表中共有 182263 條記錄,其中persondesc不為null的記錄數(shù)為180187 條記錄,

其中,persondesc 包括 “大學(xué)”兩個(gè)漢字的記錄數(shù)為 21579 條記錄

persondesc 包括 “1999”兩個(gè)漢字的記錄數(shù)為 10889條記錄

測試一、直接用like 來查詢中文“大學(xué)”

SQL: Select count(*) From personinfo Where persondesc like '%大學(xué)%'

時(shí)間開銷:耗時(shí) 40秒 688 毫秒

測試二、直接用like 來查詢英文“1999”

SQL: Select count(*) From personinfo Where persondesc like '%1999%'

時(shí)間開銷:耗時(shí) 47秒 218毫秒

測試三、未創(chuàng)建全文索引時(shí),直接用dbms_lob.instr 來查詢中文“大學(xué)”

SQL: Select count(*) From personinfo Where dbms_lob.instr(persondesc,'大學(xué)',1,1)>0

時(shí)間開銷:耗時(shí) 47秒 031毫秒

測試四、未創(chuàng)建全文索引時(shí),直接用dbms_lob.instr 來查詢英文“1999”

SQL: Select count(*) From personinfo Where dbms_lob.instr(persondesc,'1999',1,1)>0

時(shí)間開銷:耗時(shí) 44秒 360毫秒

測試五、未創(chuàng)建全文索引時(shí),直接用Contains 來查詢中文“大學(xué)”

SQL: Select count(*) From personinfo Where Contains(persondesc,'大學(xué)',1)>0";

執(zhí)行失?。?ORA-20000: Oracle Text error: DRG-10599: 列沒有編制索引

測試六、未創(chuàng)建全文索引時(shí),直接用Contains 來查詢英文“1999”

SQL: Select count(*) From personinfo Where Contains(persondesc,'1999',1)>0";

執(zhí)行失敗: ORA-20000: Oracle Text error: DRG-10599: 列沒有編制索引

測試七、采用CHINESE_LEXER詞法分析器創(chuàng)建全文索引后,直接用Contains 來查詢英文“1999”

SQL: Select count(*) From personinfo Where Contains(persondesc,'1999',1)>0";

時(shí)間開銷:第一次查詢耗時(shí) 469毫秒,后面的多次查詢耗時(shí) 210毫秒左右

***查詢出來的記錄數(shù)比在未建立索引時(shí)用like、dbms_lob.instr方式查詢出來的記錄數(shù)要少一些

測試八、采用CHINESE_LEXER詞法分析器創(chuàng)建全文索引后,直接用Contains 來查詢中文“大學(xué)”

SQL: Select count(*) From personinfo Where Contains(persondesc,'大學(xué)',1)>0";

時(shí)間開銷:第一次查詢耗時(shí) 9秒359毫秒,后面的多次查詢耗時(shí) 210毫秒左右

***查詢出來的記錄數(shù)比在未建立索引時(shí)用like、dbms_lob.instr方式查詢出來的記錄數(shù)要少一些

測試九、采用CHINESE_LEXER詞法分析器創(chuàng)建全文索引后,用dbms_lob.instr 來查詢中文“大學(xué)”

SQL: Select count(*) From personinfo Where dbms_lob.instr(persondesc,'大學(xué)',1,1)>0

時(shí)間開銷:耗時(shí) 54秒 953毫秒

測試十、采用CHINESE_LEXER詞法分析器創(chuàng)建全文索引后,直接用dbms_lob.instr 來查詢英文“1999”

SQL: Select count(*) From personinfo Where dbms_lob.instr(persondesc,'1999',1,1)>0

時(shí)間開銷:耗時(shí) 52秒 652毫秒

總體感覺Oracle的中文全文索引不是很好。后續(xù)版本或許會有所改進(jìn)吧。

數(shù)據(jù)庫 Oracle

發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
国产高清在线一区| chinesemodel无套啪啪| 午夜激情福利电影| 7m精品福利视频导航| 欧美精品一区在线| 开心丁香婷婷深爱五月| 超碰在线观看97| 手机在线电影一区| 欧美日韩国产成人| 亚洲成av人片一区二区密柚| 91亚洲精品一区二区乱码| 国产69精品久久久久777| 欧美激情综合色综合啪啪| 亚洲福利一区二区| 日本美女一区二区三区视频| 91久久久精品| 黑人一区二区三区四区五区| 精品一区久久久久久| 国产探花一区在线观看| 色呦呦呦在线观看| 日韩精品视频在线观看一区二区三区| 97热在线精品视频在线观看| 国产麻豆一区二区三区精品视频| 麻豆精品久久久| 俄罗斯黄色录像| 亚洲欧洲日韩av| 国产成人亚洲精品播放器下载| 国产在线精品一区二区三区| 国产91白丝在线播放| 激情懂色av一区av二区av| 一本色道精品久久一区二区三区| 久久亚洲综合色一区二区三区| 欧美国产视频在线观看| 美女一级全黄| 在线免费观看的av| av高清在线免费观看| 国产精品久久久久久久久久久久久久久久久久| 久久99精品国产99久久6尤物| 99国产视频在线| 美女爽到高潮91| 中文字幕一区二区三区有限公司| 中文字幕综合在线| 亚洲在线观看免费视频| 尤物九九久久国产精品的特点| 欧美裸体男粗大视频在线观看| 欧美性受xxxx黑人xyx| 国产交换配乱淫视频免费| 久久精品国产亚洲AV熟女| 韩国精品一区二区三区| 在线免费观看av电影| 色999韩欧美国产综合俺来也| 亚洲女人天堂视频| 久久99导航| 69精品无码成人久久久久久| 91精品国产色综合久久不卡98| 2018日日夜夜| 国产吞精囗交久久久| 影音先锋男士资源站| 视频一区视频二区欧美| 亚洲一区二区三区乱码aⅴ蜜桃女| 国产精品乱看| av资源在线免费观看| 超薄肉色丝袜足j调教99| 久久老司机精品视频| 国产成人精品男人的天堂538| 天使萌一区二区三区免费观看| 二区三区不卡不卡视频| 色99中文字幕| 欧美片网站免费| www.91av| 精品久久一区| 91久久国产综合久久| 精品丰满少妇一区二区三区| 任你弄精品视频免费观看| 在线天堂www在线国语对白| 国产91亚洲精品一区二区三区| 日韩av一卡二卡| 国产精品18| 欧美成人精品h版在线观看| 2019亚洲男人天堂| 欧美色黄视频| 精精国产xxxx视频在线野外| 久久精品人人| 天天做天天摸天天爽国产一区| 欧美三级韩国三级日本三斤| 亚洲一本二本| 欧洲精品在线一区| 国产精品久久久久国产精品日日| 中文字幕人妻一区| 人人妻人人澡人人爽欧美一区双| 鲁大师精品99久久久| 91国偷自产一区二区三区的观看方式| 日日夜夜人人| 性高潮久久久久久久久| 一起草在线视频| 亚洲一区二区三区视频在线| 欧美日韩国产第一页| 欧美国产综合| 男人天堂新地址| 精品成人影院| 6—12呦国产精品| 国产精品视频精品| 2019中文字幕免费视频| www.com日本| 超碰在线观看91| 你懂的视频网站| 色婷婷777777仙踪林| porn亚洲| 国产精品美女午夜av| 国产欧美高清| 秋霞成人午夜鲁丝一区二区三区| 天天插天天操天天射| 欧美特级一级片| 羞羞的视频网站| 男女爱爱网站| 一区中文字幕在线观看| 在线观看亚洲精品福利片| 国产精品亚洲第一区在线暖暖韩国| 亚洲精品在线观看www| 91制片在线观看| 男的操女的网站| 同性视频网站免费男| 黑人粗进入欧美aaaaa| 苍井空浴缸大战猛男120分钟| 四虎成人免费影院| 欧美在线视频a| 久久久久国产美女免费网站| 天天综合网日韩| 日韩精品在线一区| 91精品国产综合久久久蜜臀九色| 欧美激情在线精品一区二区三区| 中文av一区二区三区| 国产丝袜控视频在线观看| 日韩中文字幕视频在线观看| www久久精品| 97色成人综合网站| 久久艹精品视频| eeuss草民免费| 欧美伊人亚洲伊人色综合动图| 播五月开心婷婷综合| 亚洲男人天堂视频| 欧美白嫩的18sex少妇| 爱情岛论坛亚洲首页入口章节| 成人欧美一区二区三区在线播放| 69成人免费视频| 国产又色又爽又黄刺激在线视频| 日韩欧美在线网址| 秋霞成人影院| 乱一区二区三区在线播放| 中文字幕国内精品| 四虎影院在线免费播放| 狠狠色成人综合网图片区| 黄色网址免费| 国产真人真事毛片| 69堂精品视频| 国产精品中文字幕久久久| 全国男人的天堂网| 捆绑紧缚一区二区三区视频| 国产精品手机在线播放| 91精品国产自产观看在线| 亚洲精品国产精品乱码不卡| 国产欧美日韩亚洲一区二区三区| 91精品啪在线观看麻豆免费| 中文字幕一区二区三区5566| 久草免费在线色站| 欧美美女性视频| 色综合888| 免费观看黄网站| 热色播在线视频| 色多多国产成人永久免费网站| 国产日产精品一区二区三区四区| 久久久久高清精品| 日本大片在线观看| 欧美卡一卡二卡三| 这里只有精品丝袜| 成人久久网站| 欧美精选在线播放| 一本本久综合久久爱| av在线二区| 人人爽香蕉精品| 天堂网www在线网| 亚洲在线成人| 中文字幕在线二区| 被男人吃奶添下面好舒服动态图| 久久男人资源视频| 加勒比av中文字幕| 97色婷婷成人综合在线观看| 99国精产品一二二线| 日本美女xxx| 99aiav| 久久精品国产亚洲a∨麻豆| 午夜av一区二区| 在线观看精品国产视频| 加勒比久久综合| 日本在线看片免费人成视1000| 好妞色妞国产在线视频| 蜜臀精品久久久久久蜜臀| 亚洲高清av在线| 电影一区二区三区久久免费观看| 中国色在线日|韩| mm1313亚洲国产精品美女| 精品乱色一区二区中文字幕| 亚洲欧美自偷自拍另类| 日韩精品极品| 不卡的av网站| 九九视频精品全部免费播放| 一区二区不卡在线视频 午夜欧美不卡'| 色是在线视频| 国产日韩高清一区二区三区在线| 成人激情av在线| 日本欧美亚洲| 婷婷四房综合激情五月| 91视频精品在这里| 日韩精品一区二区三区中文精品| 国产精品99久久久久久久vr| 欧美aaa一级| 日韩在线视频网| 男女爱爱免费网站| www.一区二区三区.com| 国产鲁鲁视频在线观看特色| 久久涩涩网站| 亚洲欧美激情视频在线观看一区二区三区| 精品少妇av| 黄色亚洲在线| 欧美成人dvd在线视频| 国产高清视频在线| 欧美大尺度在线观看| 国产一区福利| 国模私拍一区二区| 欧美日韩国产激情| 91精品在线观看视频| 欧美黑人精品一区二区不卡| 揄拍成人国产精品视频| 三级全黄做爰视频| 久久99精品网久久| www.99re6| 亚洲一区不卡在线| 中文字幕视频一区二区在线有码| 五月婷婷丁香在线| 神马午夜精品91| 九九热r在线视频精品| 1000部精品久久久久久久久| 亚洲av无码一区二区三区网址| 日韩有码中文字幕在线| 黄色正能量网站| 久久国内精品自在自线400部| 欧美精品乱码视频一二专区| 日本久久久久久久久久| 美腿丝袜一区二区三区| 97人人澡人人爽| 精品国产伦理网| 视频免费1区二区三区| 69ww免费视频播放器| 日本www在线观看视频| 欧美一级高清片| 国产精品一区二区91| 国产精品偷拍| 精品系列免费在线观看| xxxxx日韩| 韩国无码av片在线观看网站| 日本一区二区高清不卡| www.男人的天堂| 日韩亚洲第一页| 欧美日韩国产在线播放网站| 欧美xxxx网站| 亚洲免费中文字幕| 天天操天天射天天舔| 26uuu精品一区二区在线观看| 国产在线精品成人一区二区三区| 一区二区三区免费看| 日韩欧美不卡| 8050国产精品久久久久久| 日韩三级一区二区三区| 一个色综合av| 韩国av一区| 91精品国产高清久久久久久91| 国产98色在线|日韩| 欧美日韩精品一区二区天天拍小说| 亚洲乱码av中文一区二区| 国产精品任我爽爆在线播放| 亚洲成人先锋电影| 国产真实有声精品录音| 成人免费淫片aa视频免费| 欧美日韩免费看片| av在线资源观看| 亚洲一区中文日韩| 欧美精品大片| 经典三级久久| 亚洲伊人婷婷| 亚洲国产导航| 成年丰满熟妇午夜免费视频| 国语精品中文字幕| 亚洲国产中文在线二区三区免| 裸体xxxx视频在线| 欧美亚洲免费高清在线观看| 一区二区乱子伦在线播放| 亚洲午夜激情在线| 精品欧美色视频网站在线观看| 日本a在线天堂| www.五月色.com| 欧美自拍偷拍第一页| 日韩欧美国产一区二区| 亚洲一区二区三区黄色| xxxxxwwww免费视频| 91精品国产网站| 99热在线精品观看| 国产精品久久国产精麻豆99网站| 黄色亚洲大片免费在线观看| 亚洲人一区二区| 一区二区视频在线看| 亚洲国产第一区| 天天摸天天舔天天操| 91中文字精品一区二区| av手机在线播放| 国产成人免费av电影| 精品自拍视频| 午夜电影网亚洲视频| 波多野结衣久久精品| 国产精品久久久久久久| 亚洲国产精品日韩专区av有中文| 日韩毛片视频| 久久精品国产99久久| 日韩av在线网页| 亚洲综合免费观看高清完整版在线| 国产一级网站视频在线| 日韩一区欧美小说| av女同在线| 中文在线аv在线|