• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    采用Lucene.Net與盤古分詞器的網(wǎng)上書城站內(nèi)搜索方法

    2015-10-19 14:08:45馬軍楊維明周民
    電腦知識(shí)與技術(shù) 2015年20期

    馬軍 楊維明 周民

    摘要:該文針對(duì)網(wǎng)上書城對(duì)信息實(shí)時(shí)性與準(zhǔn)確性高的要求,提出了使用lucene與盤古分詞器相結(jié)合的站內(nèi)搜索系統(tǒng)解決方案。通過(guò)分析lucene內(nèi)置分詞器與盤古分詞器的性能差異,選擇了針對(duì)中文開(kāi)發(fā)的盤古分詞器,提高了搜索的準(zhǔn)確性;通過(guò)采用“生產(chǎn)者與消費(fèi)者”多線程模式與“單例”設(shè)計(jì)模式相結(jié)合的方法,實(shí)現(xiàn)了數(shù)據(jù)的實(shí)時(shí)更新。實(shí)驗(yàn)結(jié)果證明了設(shè)計(jì)方案的有效性。

    關(guān)鍵詞:lucene;盤古分詞;網(wǎng)上書城;站內(nèi)搜索

    中圖分類號(hào):TP393 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2015)20-0184-04

    站內(nèi)搜索是指對(duì)網(wǎng)站內(nèi)部信息的精確檢索和資源挖掘, 它為用戶提供準(zhǔn)確、快速的站內(nèi)信息檢索服務(wù),站內(nèi)搜索效果直接決定著網(wǎng)站商品的銷量。現(xiàn)有的網(wǎng)上書城網(wǎng)站大多采用鏈接google和baidu網(wǎng)站的方法實(shí)現(xiàn)搜索,不利于數(shù)據(jù)的實(shí)時(shí)更新,此外,還存在著書籍信息準(zhǔn)確性不高的缺點(diǎn)。

    Lucene是目前最流行開(kāi)源檢索工具包之一, 已經(jīng)在許多搜索項(xiàng)目中得到了應(yīng)用。盤古分詞也是一個(gè)比較成熟的中文分詞組件,而且采用多元分詞技術(shù),可以很好的實(shí)現(xiàn)對(duì)中文的分詞。因而本文針對(duì)中小網(wǎng)上書城提出了一個(gè)基于lucene.net與盤古分詞的站內(nèi)搜索技術(shù)方案,提高網(wǎng)站的競(jìng)爭(zhēng)力。

    1 站內(nèi)搜索方案設(shè)計(jì)

    網(wǎng)上書城站內(nèi)搜索系統(tǒng)框圖如圖1所示。

    本文提出的站內(nèi)搜索方案將系統(tǒng)分為書籍編輯模塊、索引模塊、檢索模塊和展示模塊4個(gè)部分。書籍編輯模塊主要負(fù)責(zé)收集書籍的信息并且轉(zhuǎn)換為純文本信息,即lucene可識(shí)別的信息。索引模塊主要針對(duì)數(shù)據(jù)庫(kù)創(chuàng)建和維護(hù)索引庫(kù),即每當(dāng)增加或修改書籍的信息到數(shù)據(jù)庫(kù)時(shí),就更新索引庫(kù)。 檢索模塊主要針對(duì)用戶輸入的關(guān)鍵字進(jìn)行分析,然后查詢索引庫(kù)找到相關(guān)聯(lián)書籍,并且按相關(guān)性程度排序。展示模塊主要負(fù)責(zé)接受用戶輸入的關(guān)鍵字,并展示搜索的結(jié)果中書籍的信息以及如何展示。根據(jù)搜索結(jié)果,可以定制個(gè)性化的展示。

    圖1 網(wǎng)上書城站內(nèi)搜索系統(tǒng)框圖

    2 盤古分詞器性能分析

    盤古分詞是一個(gè)中英文分詞組件。它的作者通過(guò)分析比較中文分詞的一元分詞、二元分詞,多元分詞和精確分詞的性能,得出多元分詞適用性更強(qiáng)。但采用多元分詞產(chǎn)生了一些問(wèn)題,第一,多元分詞和搜索引擎結(jié)合得到較多的匹配結(jié)果,同時(shí)也增加了索引文件的大??;第二,由于將一些單詞進(jìn)行了拆分,搜索結(jié)果的排序會(huì)受到影響。為了克服這兩個(gè)缺點(diǎn),盤古分詞提出了多元分詞的冗余度(Redundancy)和多元分詞結(jié)果的權(quán)重級(jí)別(Rank)的概念。盤古分詞支持3級(jí)冗余。比如“湖北大學(xué)”,冗余度為0、1、2時(shí),分詞結(jié)果分別是“湖北大學(xué)”、“湖北,湖北大學(xué),大學(xué)”、“湖北,湖北大學(xué),大,大學(xué),學(xué)”。盤古分詞將多元分詞出來(lái)的單詞根據(jù)其詞長(zhǎng),詞的間隔以及未登錄詞的取舍等條件給定了不同的權(quán)重。在搜索時(shí)對(duì)分解出來(lái)的關(guān)鍵字,我們指定權(quán)重來(lái)影響搜索結(jié)果,以實(shí)現(xiàn)結(jié)果有效排序。比如搜“湖北大學(xué)”時(shí),可以將“湖北大學(xué)”設(shè)置較高的權(quán)重,而“大學(xué)”和“湖北”設(shè)置較低權(quán)重,則包含“湖北大學(xué)”的記錄就優(yōu)先于包含“湖北”或“大學(xué)”的記錄,這樣就解決了排序問(wèn)題。

    為了說(shuō)明盤古分詞優(yōu)于lucene內(nèi)置分詞器,做了如下表格的對(duì)比。從表中可以看出,StopAnalyzer針對(duì)非字母字符拆分文本,然后小寫英文字母,再過(guò)濾掉停用詞;KeywordAnalyzer將整個(gè)文本當(dāng)作一個(gè)詞處理;SimpleAnalyzer和StopAnalyzer類似;WhitespaceAnalyzer根據(jù)空格拆分詞匯單元;StandardAnalyzer按每個(gè)漢字拆分詞,PanGuAnalyzer按有意義的中文詞語(yǔ)分詞,顯然效果最佳。因而本文選擇盤古分詞器,提高搜索的準(zhǔn)確性。

    分詞比較的結(jié)果如下表1所示。

    表1 盤古分詞器與lucene內(nèi)置分詞器性能比較

    [分詞器

    結(jié)果

    分詞內(nèi)容\&Lucen.NET分析與應(yīng)用 機(jī)械工業(yè)出版社 吳眾欣

    \&StopAnalyzer\&lucene|net分析與應(yīng)用|機(jī)械工業(yè)出版社|吳眾欣\&KeywordAnalyzer\&lucene分析與應(yīng)用 機(jī)械工業(yè)出版社 吳眾欣\&SimpleAnalyzer\&lucene|net分析與應(yīng)用|機(jī)械工業(yè)出版社|吳眾欣\&WhitespaceAnalyzer\&lucene.NET分析與應(yīng)用|機(jī)械工業(yè)出版社|吳眾欣\&StandardAnalyzer\&|lucene|分|析|與|應(yīng)|用|機(jī)|械|工|業(yè)|出|版|社|吳|眾|欣\&PanGuAnalyzer\&|lucene|分析|與|應(yīng)用|機(jī)械|工業(yè)出版社|吳眾欣\&]

    3 站內(nèi)搜索的實(shí)現(xiàn)

    3.1 書籍編輯模塊

    為了可以批量添加書籍信息,使用XML存儲(chǔ)書籍信息。網(wǎng)站管理員使用后臺(tái)管理界面添加或修改書籍信息。本文從XML讀文件信息的使用.NET內(nèi)置操作XML文件的庫(kù)函數(shù)。管理員輸入的書籍信息是純文本格式,無(wú)需解析。

    本文從XML文件獲得純文本信息的核心代碼如下:

    //創(chuàng)建一個(gè)XML對(duì)象

    XMLDocument doc=new XMLDocument();

    //加載指定的XML文檔

    doc.Load(@"E:\books.xml");

    //創(chuàng)建讀取器

    XMLNodeReader reader=new XMLNodeReader();

    //讀取節(jié)點(diǎn)的信息

    While(reader.Read())

    {

    Switch(reader.NodeType)

    {

    Case XmlNodeType.Element

    If(reader.Name="title")

    bookTitle=reader.Value;

    ...

    }

    }

    3.2 索引模塊

    索引庫(kù)相當(dāng)于關(guān)系數(shù)據(jù)庫(kù),非常關(guān)鍵和重要,直接決定搜索的響應(yīng)速度與準(zhǔn)確性。針對(duì)網(wǎng)上書城,書籍關(guān)鍵信息包括書名、出版社、作者、出版時(shí)間、書籍簡(jiǎn)介等,因此在建立索引庫(kù)的時(shí)候一定要包含這些關(guān)鍵信息,方便用戶快速查詢,其它信息可根據(jù)需求添加。

    為了實(shí)現(xiàn)網(wǎng)上書城實(shí)現(xiàn)實(shí)時(shí)的數(shù)據(jù)更新,本文采用“單例設(shè)計(jì)模式”和“生產(chǎn)者與消費(fèi)者”多線程模型相結(jié)合的方式。主線程創(chuàng)建單例管理器,整個(gè)程序中是唯一的,保證了數(shù)據(jù)更新數(shù)據(jù)的一致性。同時(shí)主線程扮演生產(chǎn)者的角色,當(dāng)添加或修改書籍的信息時(shí),主線程(生產(chǎn)者)就會(huì)調(diào)用管理器,向任務(wù)列表新增任務(wù),不用關(guān)心任務(wù)是否執(zhí)行了。整個(gè)網(wǎng)站一旦運(yùn)行,主線程(生產(chǎn)者)調(diào)用管理器創(chuàng)建消費(fèi)者線程并啟動(dòng)該線程。消費(fèi)者線程就會(huì)循環(huán)的檢測(cè)任務(wù)列表,如果有任務(wù),就執(zhí)行索引任務(wù),向索引庫(kù)中添加或修改書籍信息,否則,可根據(jù)需要設(shè)置該線程休眠的時(shí)間,防止占用cpu,造成浪費(fèi)。索引系統(tǒng)原理框圖如圖2所示。

    圖2 索引系統(tǒng)原理框圖

    具體索引功能使用lucene提供的核心類IndexWriter、Direcrtory、Analyzer、Document、Field實(shí)現(xiàn)索引。IndexWriter這個(gè)類負(fù)責(zé)創(chuàng)建新索引或打開(kāi)已有索引,以向索引中添加、刪除或更新被索引文檔的信息。Direcrtory類描述了lucene索引存放位置。它是一個(gè)抽象類,它的子類負(fù)責(zé)具體指定索引的存儲(chǔ)路徑。Analyzer這個(gè)類負(fù)責(zé)分詞,它是一個(gè)抽象類,需要具體類實(shí)現(xiàn)它。Document類似于關(guān)系數(shù)據(jù)庫(kù)的記錄,是一些字段(field)的集合。Field類似于關(guān)系數(shù)據(jù)庫(kù)的字段。索引建立過(guò)程:創(chuàng)建IndexWriter類,指明索引庫(kù)位置以及使用的分詞器;創(chuàng)建一個(gè)文件記錄類Document;把要記錄的字段加入Document;把Document寫入到索引庫(kù)并且關(guān)閉索引。

    核心代碼如下:

    //單例索引管理器

    public class IndexAdministration

    {

    //創(chuàng)建單例

    public static readonly IndexAdministration Instance=new

    IndexAdministration();

    //私有化構(gòu)造器

    Private IndexAdministration(){}

    //創(chuàng)建索引任務(wù)列表

    private List tasks = new List();

    //啟動(dòng)消費(fèi)者線程

    public void StartComsumeThread()

    {Thread threadIndexWork = new Thread(IndexWork);

    threadIndexWork.Start();}

    //執(zhí)行索引任務(wù)

    private void IndexWork(){...}

    //添加索引任務(wù),生產(chǎn)者調(diào)用

    public void AddTask(IndexTask task){ ...tasks.Add(task);...}

    //刪除索引任務(wù),生產(chǎn)者調(diào)用

    public void RemoveTask(IndexTask task){...tasks.Remove(task)...}

    }

    執(zhí)行索引任務(wù)的核心代碼:

    private void IndexWork()

    {

    while(ture)

    {...

    //若無(wú)任務(wù),睡眠

    if (tasks.Count <= 0){ Thread.Sleep(3 * 1000);continue;}

    //創(chuàng)建或打開(kāi)索引目錄

    FSDirector IndexDirectory=FSDirectory.Open(

    new DirectoryInfo(indexFilePath),new NativeFSLockFactory());

    //創(chuàng)建索引寫入器對(duì)象,參數(shù)1:索引庫(kù)位置,參數(shù)2:分詞器(盤古分詞),參數(shù)3:更新或添加

    IndexWriter writer=new IndexWriter(IndexDirectory, new PanGuAnalyzer(),isUpdate);

    //創(chuàng)建Document對(duì)象

    Document doc=new Document();

    //添加字段到Docment對(duì)象中,根據(jù)需要添加必要的字段

    doc.Add(new Field("title",bookTitle,F(xiàn)ield.Store.YES,

    Field.Index.ANALYZED));

    ...

    //將doc添加到索引庫(kù)

    writerAddDocument(doc);

    //關(guān)閉寫入器

    writer.Close();

    //關(guān)閉索引庫(kù)

    IndexDirectory.Close();

    }

    }

    3.3 檢索模塊

    lucene檢索功能使用lucene提供檢索的核心類IndexSearcher、Term、Query、TopScoreDocCollector實(shí)現(xiàn)。IndexSearcher類用于搜索使用IndexWriter類建立的索引庫(kù),它是連接索引的核心,以只讀的方式打開(kāi)索引庫(kù)。Term對(duì)象是檢索功能的最基本單元,包含域名和域文本值。Query是抽象父類,它有很多具體子類,最基本的子類TermQuery,用來(lái)匹配指定域中包含特定項(xiàng)的文檔。TopScoreDocCollector是一個(gè)簡(jiǎn)單指針容器,指向匹配查詢條件的前N個(gè)搜索結(jié)果,N可以根據(jù)需要選擇,方便分頁(yè)展示。

    檢索過(guò)程:打開(kāi)索引庫(kù)FSDirectory;創(chuàng)建一個(gè)搜索器IndexSearcher指向索引庫(kù);創(chuàng)建一個(gè)查詢類Query的子類并對(duì)輸入的內(nèi)容進(jìn)行分詞;組裝查詢類,lucene提供多種查詢類,根據(jù)需要選擇;通過(guò)調(diào)用搜索器的Search方法執(zhí)行查詢,將結(jié)果放到TopScoreDocCollector指針容器;根據(jù)需要獲得查詢結(jié)果的文檔內(nèi)容。

    核心代碼

    //打開(kāi)已創(chuàng)建的索引庫(kù),

    FSDirectory IndexDirectory=FSDirectory.Open(

    new DirectoryInfo(indexFilePath),new NoLockFactory());

    //創(chuàng)建搜索器

    IndexSearcher indexSearcher = new IndexSearcher(IndexDirectory);

    //創(chuàng)建Query的一個(gè)實(shí)現(xiàn)類,根據(jù)需要?jiǎng)?chuàng)建

    PhraseQuery query = new PhraseQuery();

    //對(duì)輸入內(nèi)容進(jìn)行分詞

    List cutWords=CutWord(inputWords);

    //組裝查詢條件,根據(jù)需要設(shè)置

    foreach(string word in cutWords){ query.Add(new Term("bookTitle", word));}

    ...

    //創(chuàng)建存儲(chǔ)查詢結(jié)果的指針容器

    TopScoreDocCollector collector = TopScoreDocCollector.create(100, true);

    //查詢,第一個(gè)參數(shù):查詢條件,第二個(gè):過(guò)濾條件,第三個(gè):指針容器

    indexSearcher .Search(query, null, collector);

    //從指針容器中獲得結(jié)果,第一個(gè)參數(shù):結(jié)果的起始位置,第二個(gè):獲取數(shù)量

    ScoreDoc[] documents = collector.TopDocs(startIndex,Count).scoreDocs;

    //從搜索結(jié)果中獲取Document

    for (int i = 0; i < documents .Length; i++){

    //得到文檔編號(hào),lucene內(nèi)部分配的,為了降低內(nèi)存,結(jié)果只有編號(hào)

    int documentId = documents [i].doc;

    /根據(jù)id找到Document

    Document doc = searcher.Doc(docId);

    //獲取Document的具體內(nèi)容,根據(jù)需求獲取所需內(nèi)容,便可以展示給用戶了

    string bookTitle= doc.Get("title");

    ....

    }

    分詞函數(shù):

    List cutWords(string words, Analyzer analyzer)

    //存放分詞結(jié)果的集合

    {List results = new List();

    //調(diào)用分詞器分詞

    TokenStream ts = analyzer.ReusableTokenStream("", new StringReader(words));

    Token token;

    while ((token = ts.Next()) != null)

    //添加到分詞結(jié)果

    {results.Add(token.TermText());}

    //關(guān)閉分詞器

    ts.Close();

    return results;}

    3.4 展示模塊

    展示模塊主要用來(lái)展示查詢到匹配的結(jié)果。lucene并沒(méi)用提供展示內(nèi)容的接口函數(shù),需要我們自己設(shè)計(jì)如何展示內(nèi)容,由于本文是針對(duì)網(wǎng)上書城開(kāi)發(fā)的站內(nèi)搜索,所以選擇一網(wǎng)頁(yè)的形式展現(xiàn)。

    本文使用.NET平臺(tái)設(shè)計(jì)展示網(wǎng)頁(yè)。實(shí)現(xiàn)思路:首先在展示頁(yè)面拖放一個(gè)Reapter控件,其次把搜所到數(shù)據(jù)轉(zhuǎn)換成一個(gè)集合listResult,然后將listResult綁定到Reapter數(shù)據(jù)源便可顯示了。

    為了更好的客戶體驗(yàn),像百度、Google、360搜索一樣,將結(jié)果中的關(guān)鍵字用特殊的顏色標(biāo)出,醒目的提示用戶。本文使用盤古分詞的高亮插件 PanGu.HighLight.dll實(shí)現(xiàn)。

    4 實(shí)驗(yàn)結(jié)果與分析

    基于上述設(shè)計(jì)與實(shí)現(xiàn)方法創(chuàng)建了一個(gè)虛擬的系統(tǒng),進(jìn)行實(shí)驗(yàn)驗(yàn)證。

    使用vs2010平臺(tái)搭建,lucene.net版本3.0.3,盤古分詞版本2.3.1。

    首先向索引庫(kù)中添加1000本書的信息,其中兩本書如表2所示。

    表2 待搜索的書籍信息

    [書名\&作者\&簡(jiǎn)介\&設(shè)計(jì)模式\&GOF4\&可復(fù)用面向?qū)ο筌浖幕A(chǔ)\&面向?qū)ο蟮某绦蛟O(shè)計(jì)\&Grady Booch\&面向?qū)ο蠓治雠c設(shè)計(jì),纖細(xì)介紹了,面向?qū)ο笤瓌t\&]

    輸入“面向?qū)ο蟆?,根?jù)簡(jiǎn)介搜索,兩本書都可搜出,且排在前兩位,說(shuō)明準(zhǔn)確性高,及相關(guān)性設(shè)計(jì)合理。如圖3所示為搜索結(jié)果截圖。

    圖3 輸入“面向?qū)ο蟆钡乃阉鹘Y(jié)果

    其次輸入“l(fā)ucene”進(jìn)行搜索,沒(méi)有任何結(jié)果。說(shuō)明索引庫(kù)中沒(méi)有這本書的信息。添加如表3的信息。

    表3 添加的書籍信息

    [書名\&作者\&簡(jiǎn)介\&lucene實(shí)戰(zhàn)\&Erik Hatacher\&lucene實(shí)戰(zhàn)這本書,從基礎(chǔ)講起,并運(yùn)用大量例子說(shuō)明使用方法,很實(shí)用。\&]

    添加書籍信息后,立刻輸入“l(fā)ucene”,根據(jù)書名進(jìn)行搜索,搜到了這本書,如圖4所示為搜索結(jié)果截圖。說(shuō)明了實(shí)時(shí)性高。

    圖4 輸入“l(fā)ucene”進(jìn)行搜索的結(jié)果

    5 結(jié)束語(yǔ)

    本文針對(duì)網(wǎng)上書城對(duì)數(shù)據(jù)更新實(shí)時(shí)性高與書籍信息準(zhǔn)確性高的要求,提出了使用lucene與盤古分詞器相結(jié)合的站內(nèi)搜索系統(tǒng)解決方案。分析了盤古分詞器的性能優(yōu)勢(shì),選擇盤古分詞器,提高了搜索的準(zhǔn)確性;采用“生產(chǎn)者與消費(fèi)者”多線程模式與“單例”設(shè)計(jì)模式相結(jié)合的方法,實(shí)現(xiàn)了數(shù)據(jù)的實(shí)時(shí)更新。并通過(guò)實(shí)驗(yàn)驗(yàn)證了該方案的有效性。該方案主要針對(duì)中小型網(wǎng)上書城而設(shè)計(jì)的,對(duì)大型網(wǎng)上書城大數(shù)據(jù)不適應(yīng),這也是下一步繼續(xù)研究探索的方向。

    參考文獻(xiàn):

    [1] 邱哲, 符滔滔, 王學(xué)松. 開(kāi)發(fā)自己的搜索引擎Lucene+Heritrix[M]. 北京: 人民郵電出版社, 2010.

    [2] 吳眾欣, 沈家立. Lucene分析與應(yīng)用[M]. 北京: 機(jī)械工業(yè)出版社, 2008.

    [3] 李天平. 項(xiàng)目中的.NET[M]. 北京: 電子工業(yè)出版社, 2012.

    [4] Martin Fowler. 重構(gòu)改善既有代碼的設(shè)計(jì)[M]. 北京: 人民郵電出版社.

    [5] 周海松, 劉建明, 李龍. 基于Lucene的垂直搜索引擎研究與實(shí)現(xiàn)[J]. 桂林電子科技大學(xué)學(xué)報(bào), 2014, 34(3): 226-229.

    [6] 李永春, 丁華福. Lucene 的全文檢索的研究與應(yīng)用[J]. 計(jì)算機(jī)技術(shù)與發(fā)展, 2010, 20(2): 12-15.

    [7] 朱學(xué)昊, 王儒敬, 余鋒林, 唐昱. 基于 Lucene的站內(nèi)搜索設(shè)計(jì)與實(shí)現(xiàn)[J]. 計(jì)算機(jī)應(yīng)用與軟件, 2008, 25(10): 6-9.

    [8] 李建林. 基于Lucene的Web搜索引擎的研究[D]. 蘭州: 蘭州理工大學(xué), 2010.

    [9] 陰曉昱. 基于Lucene 多核并行索引方法的設(shè)計(jì)與實(shí)現(xiàn)[D]. 上海: 上海交通大學(xué), 2010.

    [10] 胡鵬飛. Lucene與中文分詞技術(shù)的研究及應(yīng)用[D]. 北京: 北京交通大學(xué), 2010.

    久久久色成人| 看黄色毛片网站| 亚洲av一区综合| 少妇被粗大猛烈的视频| 精品福利观看| 亚洲人成网站高清观看| 国产麻豆成人av免费视频| 国产精品日韩av在线免费观看| 亚洲av成人不卡在线观看播放网| 亚洲精品一卡2卡三卡4卡5卡| 日日摸夜夜添夜夜添小说| 欧美日韩福利视频一区二区| 麻豆国产97在线/欧美| 国内毛片毛片毛片毛片毛片| 日韩欧美在线二视频| 国产精品精品国产色婷婷| 国产精品av视频在线免费观看| 精品一区二区三区人妻视频| 亚洲av中文字字幕乱码综合| 少妇人妻精品综合一区二区 | 九九在线视频观看精品| 国产成人欧美在线观看| 国产精华一区二区三区| av在线天堂中文字幕| 免费av毛片视频| 久久精品夜夜夜夜夜久久蜜豆| 国产一级毛片七仙女欲春2| 亚洲国产精品合色在线| 757午夜福利合集在线观看| 天堂影院成人在线观看| 久99久视频精品免费| 久久午夜亚洲精品久久| 夜夜爽天天搞| 欧美黑人欧美精品刺激| 人人妻人人澡欧美一区二区| 中文亚洲av片在线观看爽| 日日摸夜夜添夜夜添av毛片 | 国产人妻一区二区三区在| 夜夜爽天天搞| 久久久久久久午夜电影| 香蕉av资源在线| 欧美bdsm另类| 人人妻人人澡欧美一区二区| 国产不卡一卡二| 中文字幕人成人乱码亚洲影| 欧美性猛交黑人性爽| 男女之事视频高清在线观看| 国内精品久久久久久久电影| 久久国产精品人妻蜜桃| 人妻制服诱惑在线中文字幕| av在线蜜桃| 国产主播在线观看一区二区| 九色成人免费人妻av| 亚洲精品影视一区二区三区av| 狂野欧美白嫩少妇大欣赏| 精品久久久久久久久久久久久| 99久久99久久久精品蜜桃| 国产黄片美女视频| 一进一出抽搐gif免费好疼| .国产精品久久| 国产真实伦视频高清在线观看 | 亚洲av.av天堂| 亚洲性夜色夜夜综合| a在线观看视频网站| xxxwww97欧美| 久久精品国产亚洲av天美| 午夜福利在线观看吧| 99国产精品一区二区蜜桃av| 嫁个100分男人电影在线观看| 国产中年淑女户外野战色| 啪啪无遮挡十八禁网站| 色尼玛亚洲综合影院| 国产成人影院久久av| 亚洲av一区综合| 极品教师在线免费播放| 久久久久久久午夜电影| 丰满人妻一区二区三区视频av| 亚洲美女视频黄频| 搡女人真爽免费视频火全软件 | 免费高清视频大片| 国产主播在线观看一区二区| 久久国产乱子免费精品| 麻豆久久精品国产亚洲av| 日本免费一区二区三区高清不卡| 一个人看的www免费观看视频| 国产一区二区三区视频了| 日韩精品中文字幕看吧| 欧美日韩综合久久久久久 | 内射极品少妇av片p| 日韩中字成人| 国产三级中文精品| 中文字幕av成人在线电影| 悠悠久久av| 国产精品综合久久久久久久免费| 久久热精品热| 国产乱人视频| 国产精品综合久久久久久久免费| 一区二区三区高清视频在线| 午夜福利高清视频| 97碰自拍视频| 久久精品人妻少妇| 久久热精品热| 亚洲美女黄片视频| 午夜福利欧美成人| 村上凉子中文字幕在线| 每晚都被弄得嗷嗷叫到高潮| 国产精品98久久久久久宅男小说| 麻豆一二三区av精品| 午夜免费男女啪啪视频观看 | 久久久久亚洲av毛片大全| 成年女人看的毛片在线观看| 亚洲 欧美 日韩 在线 免费| 日韩中文字幕欧美一区二区| 女同久久另类99精品国产91| 国产黄片美女视频| 国产毛片a区久久久久| 一个人看的www免费观看视频| 亚洲av二区三区四区| 免费在线观看影片大全网站| 99久久久亚洲精品蜜臀av| 亚洲成人免费电影在线观看| 在线天堂最新版资源| av在线蜜桃| 中文字幕av成人在线电影| 99国产极品粉嫩在线观看| 亚洲国产精品999在线| 亚洲成人中文字幕在线播放| 亚洲综合色惰| 国产精品女同一区二区软件 | 色在线成人网| 99国产极品粉嫩在线观看| 又粗又爽又猛毛片免费看| 国产亚洲精品av在线| 欧美色欧美亚洲另类二区| 日韩亚洲欧美综合| 日韩有码中文字幕| 久久久国产成人精品二区| 麻豆成人午夜福利视频| 给我免费播放毛片高清在线观看| 夜夜爽天天搞| 欧美在线一区亚洲| 欧美成人性av电影在线观看| 99国产精品一区二区蜜桃av| 久久久久久久精品吃奶| а√天堂www在线а√下载| 国内毛片毛片毛片毛片毛片| 噜噜噜噜噜久久久久久91| 色哟哟·www| 哪里可以看免费的av片| 欧美黄色片欧美黄色片| 在线免费观看的www视频| 亚洲美女视频黄频| 国产免费av片在线观看野外av| 国产精品久久久久久精品电影| 一区福利在线观看| 少妇被粗大猛烈的视频| 香蕉av资源在线| 国产精品三级大全| 精品久久国产蜜桃| 亚洲国产精品999在线| 国产极品精品免费视频能看的| 中文亚洲av片在线观看爽| 国产老妇女一区| 成年版毛片免费区| 757午夜福利合集在线观看| av福利片在线观看| 亚洲电影在线观看av| 欧美三级亚洲精品| 日韩中文字幕欧美一区二区| 日韩中文字幕欧美一区二区| 99视频精品全部免费 在线| 国产亚洲精品久久久久久毛片| 国产免费一级a男人的天堂| av欧美777| av视频在线观看入口| 别揉我奶头~嗯~啊~动态视频| 亚洲av电影不卡..在线观看| 亚洲中文日韩欧美视频| 看十八女毛片水多多多| 久久欧美精品欧美久久欧美| 少妇人妻一区二区三区视频| 深夜精品福利| 色播亚洲综合网| 热99re8久久精品国产| 性欧美人与动物交配| 怎么达到女性高潮| 老熟妇乱子伦视频在线观看| 国产午夜福利久久久久久| 午夜福利在线在线| 国产私拍福利视频在线观看| 亚洲精品粉嫩美女一区| 91久久精品国产一区二区成人| 久久久久九九精品影院| 桃色一区二区三区在线观看| 亚洲精品乱码久久久v下载方式| 国内精品久久久久精免费| 日日摸夜夜添夜夜添av毛片 | 亚洲不卡免费看| 可以在线观看毛片的网站| 国产黄片美女视频| 村上凉子中文字幕在线| 十八禁网站免费在线| 女人十人毛片免费观看3o分钟| 国产欧美日韩一区二区精品| 日韩欧美国产在线观看| 在线观看舔阴道视频| 淫妇啪啪啪对白视频| 老司机深夜福利视频在线观看| 内射极品少妇av片p| 亚洲成人免费电影在线观看| 国产真实伦视频高清在线观看 | 亚州av有码| 午夜亚洲福利在线播放| 亚洲国产欧洲综合997久久,| 一级毛片久久久久久久久女| 99久久无色码亚洲精品果冻| 午夜激情福利司机影院| 国产久久久一区二区三区| 国产免费男女视频| 成年女人看的毛片在线观看| av天堂在线播放| 免费高清视频大片| 老鸭窝网址在线观看| 亚洲国产色片| 丝袜美腿在线中文| 在现免费观看毛片| 校园春色视频在线观看| 亚洲午夜理论影院| 成人av一区二区三区在线看| 久久这里只有精品中国| 免费看美女性在线毛片视频| 国产人妻一区二区三区在| 国内久久婷婷六月综合欲色啪| 国产免费男女视频| 成人毛片a级毛片在线播放| 国产蜜桃级精品一区二区三区| 成年女人永久免费观看视频| 男女视频在线观看网站免费| 精品无人区乱码1区二区| 亚洲av中文字字幕乱码综合| 国产乱人伦免费视频| 亚洲中文字幕日韩| 精华霜和精华液先用哪个| 哪里可以看免费的av片| 久久九九热精品免费| 99久国产av精品| 成人精品一区二区免费| h日本视频在线播放| 亚洲一区二区三区色噜噜| 久久精品夜夜夜夜夜久久蜜豆| 色综合站精品国产| 久久久国产成人免费| 欧美一级a爱片免费观看看| 成人永久免费在线观看视频| 国产高清视频在线播放一区| 精品久久久久久久久亚洲 | 2021天堂中文幕一二区在线观| 黄片小视频在线播放| а√天堂www在线а√下载| 午夜激情欧美在线| 国产在线精品亚洲第一网站| 在线十欧美十亚洲十日本专区| 91久久精品电影网| 国产91精品成人一区二区三区| 久久精品综合一区二区三区| 青草久久国产| 亚洲精品乱码久久久v下载方式| 又黄又爽又刺激的免费视频.| 欧美精品啪啪一区二区三区| 波多野结衣高清作品| 97热精品久久久久久| 别揉我奶头 嗯啊视频| 日韩国内少妇激情av| 亚洲电影在线观看av| 3wmmmm亚洲av在线观看| 偷拍熟女少妇极品色| 毛片女人毛片| 色综合欧美亚洲国产小说| 国产亚洲精品综合一区在线观看| 午夜福利在线观看免费完整高清在 | 噜噜噜噜噜久久久久久91| 久久九九热精品免费| 在线天堂最新版资源| 日韩欧美 国产精品| 亚洲激情在线av| 男女之事视频高清在线观看| 欧美xxxx性猛交bbbb| 亚洲在线观看片| 亚洲av二区三区四区| 亚洲精品在线观看二区| 少妇丰满av| 欧美黄色片欧美黄色片| 男女视频在线观看网站免费| 女人被狂操c到高潮| 人人妻人人看人人澡| 国产高潮美女av| 他把我摸到了高潮在线观看| 亚洲欧美清纯卡通| 99热这里只有是精品50| 99视频精品全部免费 在线| 国产主播在线观看一区二区| 亚洲狠狠婷婷综合久久图片| 一本一本综合久久| 日本三级黄在线观看| 亚洲一区二区三区不卡视频| 成人毛片a级毛片在线播放| 免费电影在线观看免费观看| 免费大片18禁| 亚洲国产色片| 国产在线精品亚洲第一网站| 欧美日韩综合久久久久久 | 在线国产一区二区在线| 亚洲专区国产一区二区| 国产欧美日韩一区二区三| 欧美一区二区亚洲| 精品无人区乱码1区二区| 天天一区二区日本电影三级| 草草在线视频免费看| 夜夜爽天天搞| 女人被狂操c到高潮| 亚洲,欧美,日韩| 久久国产乱子免费精品| 深爱激情五月婷婷| 狂野欧美白嫩少妇大欣赏| 免费观看精品视频网站| 色哟哟哟哟哟哟| 日本精品一区二区三区蜜桃| 男插女下体视频免费在线播放| 欧美国产日韩亚洲一区| 黄色一级大片看看| 97人妻精品一区二区三区麻豆| 女人十人毛片免费观看3o分钟| 99热这里只有是精品在线观看 | av国产免费在线观看| 制服丝袜大香蕉在线| 麻豆av噜噜一区二区三区| 在线国产一区二区在线| av欧美777| 久久性视频一级片| 欧美一级a爱片免费观看看| 久久精品91蜜桃| 日韩欧美一区二区三区在线观看| 国产精品久久久久久人妻精品电影| 蜜桃亚洲精品一区二区三区| 亚洲国产日韩欧美精品在线观看| 此物有八面人人有两片| 九色成人免费人妻av| 1024手机看黄色片| 夜夜躁狠狠躁天天躁| 亚洲一区二区三区色噜噜| 国产成年人精品一区二区| 国产精品嫩草影院av在线观看 | АⅤ资源中文在线天堂| 嫁个100分男人电影在线观看| 乱码一卡2卡4卡精品| 亚洲av二区三区四区| 久久久久久久久大av| 亚洲五月婷婷丁香| 国内久久婷婷六月综合欲色啪| 婷婷精品国产亚洲av| 最新中文字幕久久久久| 欧美成人a在线观看| 国产又黄又爽又无遮挡在线| 亚洲精品在线美女| 少妇的逼好多水| 非洲黑人性xxxx精品又粗又长| 国产亚洲精品综合一区在线观看| av在线观看视频网站免费| 制服丝袜大香蕉在线| 亚洲avbb在线观看| av天堂中文字幕网| 我的女老师完整版在线观看| 禁无遮挡网站| 亚洲三级黄色毛片| 亚洲av成人不卡在线观看播放网| 丰满乱子伦码专区| 99在线视频只有这里精品首页| 9191精品国产免费久久| 中文字幕人成人乱码亚洲影| 亚洲精品影视一区二区三区av| 老师上课跳d突然被开到最大视频 久久午夜综合久久蜜桃 | 999久久久精品免费观看国产| 哪里可以看免费的av片| 国产精品av视频在线免费观看| 国产av不卡久久| 热99re8久久精品国产| 伦理电影大哥的女人| 香蕉av资源在线| 亚洲欧美日韩高清专用| 成人欧美大片| 最好的美女福利视频网| 少妇裸体淫交视频免费看高清| 国产精品亚洲av一区麻豆| 又紧又爽又黄一区二区| 波多野结衣高清作品| 狂野欧美白嫩少妇大欣赏| 日韩国内少妇激情av| 一区福利在线观看| 男插女下体视频免费在线播放| 精品国内亚洲2022精品成人| 日韩人妻高清精品专区| 九九热线精品视视频播放| 精品无人区乱码1区二区| 小说图片视频综合网站| 偷拍熟女少妇极品色| 欧美高清性xxxxhd video| 午夜影院日韩av| 精品无人区乱码1区二区| 一区二区三区激情视频| 99国产精品一区二区蜜桃av| 亚洲一区二区三区不卡视频| 黄色女人牲交| 欧美成人免费av一区二区三区| 大型黄色视频在线免费观看| 男插女下体视频免费在线播放| 国产免费男女视频| 亚洲精品色激情综合| 国产成人欧美在线观看| 日韩中文字幕欧美一区二区| 一级毛片久久久久久久久女| 欧美高清性xxxxhd video| 一进一出抽搐gif免费好疼| 搡老妇女老女人老熟妇| 亚洲人成网站高清观看| 成人三级黄色视频| 欧美色视频一区免费| 国产亚洲精品av在线| 成人三级黄色视频| 毛片女人毛片| 成人永久免费在线观看视频| 国产精品久久久久久精品电影| 桃红色精品国产亚洲av| 国产成+人综合+亚洲专区| 久久久久久久久大av| 亚洲成人久久爱视频| 黄色视频,在线免费观看| 亚洲无线在线观看| 一卡2卡三卡四卡精品乱码亚洲| 国产精品1区2区在线观看.| 欧美精品国产亚洲| 成人鲁丝片一二三区免费| 在线观看免费视频日本深夜| 久久久精品欧美日韩精品| 色尼玛亚洲综合影院| 日韩精品青青久久久久久| 午夜福利在线观看吧| 国产精品野战在线观看| 精品国产三级普通话版| 美女 人体艺术 gogo| 在线a可以看的网站| 听说在线观看完整版免费高清| 黄色丝袜av网址大全| 日本五十路高清| 嫁个100分男人电影在线观看| 网址你懂的国产日韩在线| 我要搜黄色片| 看片在线看免费视频| 国产精品久久久久久精品电影| 亚洲人成伊人成综合网2020| 欧美区成人在线视频| 最近视频中文字幕2019在线8| 中文字幕免费在线视频6| 亚洲 国产 在线| 久久久精品欧美日韩精品| 麻豆av噜噜一区二区三区| 全区人妻精品视频| www.999成人在线观看| 99久久成人亚洲精品观看| 久久人人精品亚洲av| 嫁个100分男人电影在线观看| 内射极品少妇av片p| 十八禁网站免费在线| 免费看日本二区| 在线十欧美十亚洲十日本专区| 男女床上黄色一级片免费看| 国产成人欧美在线观看| 两个人的视频大全免费| 99国产精品一区二区蜜桃av| a级一级毛片免费在线观看| 色综合亚洲欧美另类图片| 欧美色欧美亚洲另类二区| 在线天堂最新版资源| 一个人免费在线观看电影| 国产探花在线观看一区二区| 高清日韩中文字幕在线| 成年免费大片在线观看| 精品一区二区三区视频在线观看免费| 欧美日韩乱码在线| 国产探花在线观看一区二区| 午夜a级毛片| 国产视频内射| 精品国产亚洲在线| 亚洲七黄色美女视频| 午夜免费男女啪啪视频观看 | av女优亚洲男人天堂| 国产精品98久久久久久宅男小说| 欧美一区二区亚洲| 欧美最黄视频在线播放免费| 久久精品国产亚洲av香蕉五月| 欧美黄色淫秽网站| 成人毛片a级毛片在线播放| 中国美女看黄片| 日日摸夜夜添夜夜添av毛片 | 91麻豆精品激情在线观看国产| 久久精品国产99精品国产亚洲性色| 国产精品一区二区性色av| 一个人观看的视频www高清免费观看| 亚洲中文日韩欧美视频| 深夜精品福利| 免费黄网站久久成人精品 | 亚洲人成网站在线播放欧美日韩| 极品教师在线免费播放| 99精品在免费线老司机午夜| 丰满的人妻完整版| 国产精品久久久久久久久免 | 国产高清视频在线观看网站| 内地一区二区视频在线| 亚洲精品日韩av片在线观看| 中文字幕精品亚洲无线码一区| 日韩欧美 国产精品| 午夜福利视频1000在线观看| 国语自产精品视频在线第100页| 深爱激情五月婷婷| 波多野结衣巨乳人妻| 国产高清视频在线观看网站| av黄色大香蕉| 日韩欧美一区二区三区在线观看| 久久久久精品国产欧美久久久| 99久久精品热视频| 国产精品亚洲av一区麻豆| 国产精品影院久久| 亚洲国产色片| 亚洲精品在线美女| 国产亚洲av嫩草精品影院| 国产乱人伦免费视频| 女人十人毛片免费观看3o分钟| 黄色配什么色好看| 日本免费a在线| 91在线观看av| a级毛片免费高清观看在线播放| 成人一区二区视频在线观看| 日本精品一区二区三区蜜桃| 久久久精品大字幕| 国产精品免费一区二区三区在线| 欧美高清性xxxxhd video| 日韩中字成人| 成年女人毛片免费观看观看9| 99国产极品粉嫩在线观看| 三级毛片av免费| 久久久久久九九精品二区国产| 好男人在线观看高清免费视频| 成年女人看的毛片在线观看| 成人无遮挡网站| 欧美精品啪啪一区二区三区| 偷拍熟女少妇极品色| 91九色精品人成在线观看| 午夜福利免费观看在线| 可以在线观看毛片的网站| 亚洲av美国av| 免费观看精品视频网站| 免费高清视频大片| 国产探花在线观看一区二区| 波多野结衣高清作品| 免费观看精品视频网站| 久久精品影院6| 99热精品在线国产| 有码 亚洲区| 人人妻人人看人人澡| 免费看美女性在线毛片视频| 成人高潮视频无遮挡免费网站| 日本免费a在线| 国产精品99久久久久久久久| 乱人视频在线观看| 国产亚洲精品综合一区在线观看| 淫秽高清视频在线观看| 午夜日韩欧美国产| 亚洲av电影在线进入| 搡老熟女国产l中国老女人| 噜噜噜噜噜久久久久久91| 国产精品不卡视频一区二区 | 日本三级黄在线观看| 欧美午夜高清在线| 国产aⅴ精品一区二区三区波| 欧美黄色片欧美黄色片| 啦啦啦观看免费观看视频高清| 欧美日韩中文字幕国产精品一区二区三区| 久久久久久久久中文| 一级毛片久久久久久久久女| 久久久久国产精品人妻aⅴ院| 69人妻影院| 国产精品98久久久久久宅男小说| 夜夜爽天天搞| 99视频精品全部免费 在线| 俺也久久电影网| 精品一区二区三区视频在线观看免费| 免费观看的影片在线观看| 欧美三级亚洲精品| 能在线免费观看的黄片| 国产男靠女视频免费网站| 色综合欧美亚洲国产小说| 亚洲av美国av| 久久久久久久久中文| 国产黄色小视频在线观看| 精品不卡国产一区二区三区| 真人一进一出gif抽搐免费| 精品人妻偷拍中文字幕| 婷婷丁香在线五月| 我的女老师完整版在线观看| 午夜精品一区二区三区免费看| 久久久久久久午夜电影| av在线老鸭窝| 国产成人福利小说| 国产成+人综合+亚洲专区| 亚洲国产精品成人综合色| 亚洲中文字幕日韩|