日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Solr Facet技术的应用与研究

發布時間:2024/7/5 编程问答 55 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Solr Facet技术的应用与研究 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

問題背景

在《搜索引擎關鍵字智能提示的一種實現》一文中介紹過,美團的CRM系統負責管理銷售人員的門店(POI)和項目(DEAL)信息,提供統一的檢索功能,其索引層采用的是SolrCloud。在用戶搜索時,如果能直觀地給出每個品類的POI數目,各個狀態的DEAL數目,可以更好地引導用戶進行搜索,進而提升搜索體驗。

需求分析

例如,下圖是用戶搜索項目(DEAL)的界面,當選中一個人或者組織節點后,需要實時顯示狀態分組和快捷分組的每個項的DEAL數目:

為了實現上述導航效果,可以采用以下兩個方案:

方案一, 針對每個導航項發送一個Ajax請求,去Solr服務器查詢對應的DEAL數目。該方案問題在于,當導航項比較多時,擴展性不好。方案二, 應用Solr自帶的Facet技術實現以導航為目的的搜索,查詢結果根據分類添加count信息。

DEAL的Solr索引設計如下:

schema.xml: <field name="deal_id" type="int" indexed="true" stored="true" /> //deal id <field name="title" type="text_ika" indexed="true" stored="false" /> //標題 <field name="bd_id" type="int" indexed="true" stored="false" /> //負責人id <field name="begin_time" type="long" indexed="true" stored="false" /> //項目開始時間 <field name="end_time" type="long" indexed="true" stored="false" /> //項目結束時間 <field name="status" type="int" indexed="true" stored="false" /> //項目狀態 <field name="can_buy" type="boolean" indexed="true" stored="false" /> //是否可以購買 ...省略 本文的例子中用于facet的字段有status,can_buy,begin_time,end_time

注: Facet的字段必須被索引,無需分詞,無需存儲。無需分詞是因為該字段的值代表了一個整體概念,無需存儲是因為一般而言用戶所關心的并不是該字段的具體值,而是作為對查詢結果進行分組的一種手段,用戶一般會沿著這個分組進一步深入搜索。

Solr Facet簡介

Facet是Solr的高級搜索功能之一,Solr作者給出的定義是導航(Guided Navigation)、參數化查詢(Paramatic Search)。Facet的主要好處是在搜索的同時,可以按照Facet條件進行分組統計,給出導航信息,改善搜索體驗。Facet搜索主要分為以下幾類:

1. Field Facet 搜索結果按照Facet的字段分組并統計,Facet字段通過在請求中加入”facet.field”參數加以聲明,如果需要對多個字段進行Facet查詢,那么將該參數聲明多次,Facet字段必須被索引。例如,以下表達式是以DEAL的status和can_buy屬性為facet.field進行查詢:

select?q=*:*&facet=true&facet.field=status&facet.field=can_buy&wt=json

Facet查詢需要在請求參數中加入”facet=on”或者”facet=true”讓Facet組件起作用,返回結果:

"facet_counts”: { "facet_queries": {}, "facet_fields": { "status": [ "32", 96, "0", 40, "8", 81, "16", 50, "127", 80, "64", 27 ] ,"can_buy": [ "true", 236, "false", 21 ]}, "facet_dates": {}, "facet_ranges": {} }

分組count信息包含在“facet_fields”中,分別按照”status”和“can_buy”的值分組,比如狀態為32的DEAL數目有96個,能購買的DEAL數目(can_buy=true)是236。

Field Facet主要參數:

facet.field:Facet的字段facet.prefix:Facet字段前綴facet.limit:Facet字段返回條數facet.offset:開始條數,偏移量,它與facet.limit配合使用可以達到分頁的效果facet.mincount:Facet字段最小count,默認為0facet.missing:如果為on或true,那么將統計那些Facet字段值為null的記錄facet.method:取值為enum或fc,默認為fc,fc表示Field Cachefacet.enum.cache.minDf:當facet.method=enum時,參數起作用,文檔內出現某個關鍵字的最少次數

2. Date Facet 日期類型的字段在索引中很常見,如DEAL上線時間,線下時間等,某些情況下需要針對這些字段進行Facet。時間字段的取值有無限性,用戶往往關心的不是某個時間點而是某個時間段內的查詢統計結果,Solr為日期字段提供了更為方便的查詢統計方式。字段的類型必須是DateField(或其子類型)。需要注意的是,使用Date Facet時,字段名、起始時間、結束時間、時間間隔這4個參數都必須提供。 與Field Facet類似,Date Facet也可以對多個字段進行Facet。并且針對每個字段都可以單獨設置參數。

3. Facet Query Facet Query利用類似于filter query的語法提供了更為靈活的Facet。通過facet.query參數,可以對任意字段進行篩選。

基于Solr facet的實現

本文的例子,需要查詢DEAL的“狀態”和“快捷選項”導航信息。由于,有的狀態DEAL數目不僅與狀態(status)字段有關,還與開始時間(begin_time)和(end_time)相關,且各個快捷選項的DEAL數目的計算字段各不相同,要求比較靈活的查詢,所以本文擬采用Facet Query方式實現。 以下代碼是采用solrJ構造facet查詢對象的過程:

public SolrQuery buildFacetQuery(Date now) {SolrQuery solrQuery = new SolrQuery();solrQuery.setFacet(true);//設置facet=onsolrQuery.setFacetLimit(10);//限制facet返回的數量solrQuery.setQuery("*:*");long nowTime = now.getTime() / 1000;long minTime = minTimeStamp;long maxTime = maxTimeStamp;solrQuery.addFacetQuery("status:0"); //待撰寫solrQuery.addFacetQuery("status:8"); //撰寫中solrQuery.addFacetQuery("status:16"); //已終審solrQuery.addFacetQuery("status:32 AND " + "begin_time:[" + nowTime + " TO " + maxTime + " ]"); //已上架-待上線solrQuery.addFacetQuery("status:32 AND " + "begin_time:[" + minTime + " TO " + nowTime + "] AND " + //已上架-上線中"end_time:[" + nowTime + " TO " + maxTime + " ]");solrQuery.addFacetQuery("status:32 AND " + "end_time:[" + minTime + " TO " + nowTime + "]"); //已上架-已下線return solrQuery; }

說明: “status:0” 查詢滿足條件的結果集中status=0的Deal數目, “status:32 AND “ + “begin_time:[” + nowTime + “ TO ” + maxTime + “ ]”,查詢滿足條件的結果集中,status=32且begin_time大于現在時間的Deal數目, 依次類推

返回結果:

"status:0":756, "status:8":28, "status:16":21, "status:32 AND begin_time:[1401869128 TO 1956499199 ]":4, "status:32 AND begin_time:[0 TO 1401869128] AND end_time:[1401869128 TO 1956499199 ]":41, "status:32 AND end_time:[0 TO 1401869128]":10}

上述結果可知,“已上架-待上線”導航項對應的DEAL數為4個。

Solr Facet查詢分析

1. Solr HTTP請求分發

當一個Restful(HTTP)查詢請求到達SolrCloud服務器,首先由SolrDispatchFilter(實現javax.servlet.Filter)處理,該類負責分發請求到相應的SolrRequestHandler。具體分發操作在SolrDispatchFilter的doFilter方法中進行:

public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain, boolean retry) {...... handler = core.getRequestHandler( path );if( handler == null && parser.isHandleSelect() ) {if( "/select".equals( path ) || "/select/".equals( path ) ) {solrReq = parser.parse( core, path, req );String qt = solrReq.getParams().get( CommonParams.QT );handler = core.getRequestHandler( qt ); //分發到相應的handler.......if( handler != null ) {...... this.execute( req, handler, solrReq, solrRsp ); //處理請求HttpCacheHeaderUtil.checkHttpCachingVeto(solrRsp, resp, reqMethod); ...... return; }} }protected void execute( HttpServletRequest req, SolrRequestHandler handler, SolrQueryRequest sreq, SolrQueryResponse rsp) {sreq.getContext().put( "webapp", req.getContextPath() );sreq.getCore().execute( handler, sreq, rsp ); }

接著,調用solrCore的execute方法:

public void execute(SolrRequestHandler handler, SolrQueryRequest req, SolrQueryResponse rsp) {...... handler.handleRequest(req,rsp); // handler處理請求 postDecorateResponse(handler, req, rsp);...... }

從上述代碼邏輯可以看出,請求的實際處理是由SolrRequestHandler來完成的。

2. SolrRequestHandler處理過程

SolrRequestHandler的類繼承結構,如下圖所示:

SolrRequestHandler請求處理器的接口,只有兩個方法,一個是初始化信息,主要是配置時的默認參數,另一個就是處理請求的接口。 具體處理邏輯主要由SearchHandler類實現。

public interface SolrRequestHandler extends SolrInfoMBean {public void init(NamedList args); //初始化信息public void handleRequest(SolrQueryRequest req, SolrQueryResponse rsp); //處理請求 }

SearchHandler實現SolrRequestHandler,SolrCoreAware,在SolrCore初始化的過程中調用SolrRequestHandler中的inform(SolrCore core),首先是將solrconfig.xml里配置的各個處理組件按一定順序組裝起來,先是first-Component,默認的component,last-component,這些處理組件會按照它們的順序來執行。如果沒有配置,則加載默認組件,方法如下:

protected List<String> getDefaultComponents() {ArrayList<String> names = new ArrayList<String>(6);names.add( QueryComponent.COMPONENT_NAME );names.add( FacetComponent.COMPONENT_NAME );names.add( MoreLikeThisComponent.COMPONENT_NAME );names.add( HighlightComponent.COMPONENT_NAME );names.add( StatsComponent.COMPONENT_NAME );names.add( DebugComponent.COMPONENT_NAME );names.add( AnalyticsComponent.COMPONENT_NAME );return names; }

SearchHandler中的component對象包含有QueryComponent、FacetComponent、HighlightComponent等,其中QueryComponent主要負責查詢部分,FacetComponent處理facet、HighlightComponent負責高亮顯示。SearchHandler在請求處理過程中,由SearchHandler.handleRequestBody(SolrQueryRequest req, SolrQueryResponse rsp)方法依次調用component的prepare、process、distributedProcess方法(分布式搜索本文暫不討論) 。QueryComponent調用SolrIndexSearcher,SolrIndexSearcher繼承了lucene的IndexSearcher類進行搜索,FacetComponent實現對Term的層面的統計,下圖是SearchComponent的類圖結構:

3. FacetComponent Facet查詢分析

由上述分析可知,Solr的Facet功能實際上是由FacetComponent組件來實現的,具體實現在FacetComponent.process方法中:

public void process(ResponseBuilder rb) throws IOException {if (rb.doFacets) {SolrParams params = rb.req.getParams();SimpleFacets f = new SimpleFacets(rb.req, rb.getResults().docSet,params, rb ); //最終facet查詢委托給SimpleFacets類進行處理 NamedList<Object> counts = f.getFacetCounts(); ...... } }

首先QueryComponent處理q參數里的查詢,查詢的結果的DocID保存在docSet里,這里是一個無序的document ID 的集合。然后把docSet封裝在SimpleFacets中,調用SimpleFacets.getFacetCounts()獲取統計結果:

public NamedList<Object> getFacetCounts() {......facetResponse = new SimpleOrderedMap<Object>();facetResponse.add("facet_queries", getFacetQueryCounts());facetResponse.add("facet_fields", getFacetFieldCounts());facetResponse.add("facet_dates", getFacetDateCounts());facetResponse.add("facet_ranges", getFacetRangeCounts()); ......return facetResponse; }

由上可知,返回給客戶端的結果有四種類型facet_queries、facet_fields、facet_dates、facet_ranges,分別調用getFacetQueryCounts(),getFacetFieldCounts(),getFacetDateCounts(),getFacetRangeCounts()完成查詢。

4. getFacetQueryCounts統計count過程

由于篇幅原因,上述四個方法不一一展開分析,本文用到的查詢主要是Facet Query,下面分析一下getFacetQueryCounts方法源碼:

public NamedList<Integer> getFacetQueryCounts() throws IOException,SyntaxError {NamedList<Integer> res = new SimpleOrderedMap<Integer>();String[] facetQs = params.getParams(FacetParams.FACET_QUERY);if (null != facetQs && 0 != facetQs.length) {for (String q : facetQs) { // 循環統計每個facet query的countparseParams(FacetParams.FACET_QUERY, q);Query qobj = QParser.getParser(q, null, req).getQuery();if (qobj == null) {res.add(key, 0);} else if (params.getBool(GroupParams.GROUP_FACET, false)) {res.add(key, getGroupedFacetQueryCount(qobj));} else {res.add(key, searcher.numDocs(qobj, docs)); //}}}return res; }

該方法的返回類型NamedList是一個有序的name/value容器,保存每個facet query和對應的count值。由代碼可知,在for循環體中逐個統計facet query的count值,其中,parseParams方法中把”key”設置成本次循環的facet query變量“q“,由于GroupParams.GROUP_FACET的值是false(group類似與mysql的group by功能,一般不會打開),所以count值實際是由searcher.numDocs(qobj, docs)方法負責計算,這里的searcher類型是SolrIndexSearcher。

SolrIndexSearcher的numDocs方法源碼如下:

public int numDocs(Query a, DocSet b) throws IOException {if (filterCache != null) { Query absQ = QueryUtils.getAbs(a); //如果為negative,則返回相應的補集DocSet positiveA = getPositiveDocSet(absQ); //查詢absQ 獲取docSet集合return a==absQ ? b.intersectionSize(positiveA) : b.andNotSize(positiveA);} else {TotalHitCountCollector collector = new TotalHitCountCollector();BooleanQuery bq = new BooleanQuery();bq.add(QueryUtils.makeQueryable(a), BooleanClause.Occur.MUST);bq.add(new ConstantScoreQuery(b.getTopFilter()), BooleanClause.Occur.MUST);super.search(bq, null, collector);return collector.getTotalHits(); }

}

參數a傳入facet query對象,參數b傳入經過QueryComponent組件處理后得到DocSet集合。DocSet存儲的是無序的文檔標識號(ID),ID并不是我們在schema.xml里配置的unique key,而是Solr內部的一個文檔標識,其次,DocSet還封裝了集合運算的方法,如“求交集”、”求差集”。

由于,我們在solrconfig.xml中配置了filterCache:

<filterCache class="solr.FastLRUCache" size="512" initialSize="512" autowarmCount="0”/>

于是,numDocs方法中filterCache對象不為null,運行到下面三行代碼:

Query absQ = QueryUtils.getAbs(a); //如果為negative,則返回相應的補集 DocSet positiveA = getPositiveDocSet(absQ); //查詢absQ 獲取docSet集合 return a==absQ ? b.intersectionSize(positiveA) : b.andNotSize(positiveA); //集合運算

首先,通過QueryUtils.getAbs(a)將查詢對象a統一轉化為一個“正向查詢對象”absQ,getPositiveDocSet(absQ)方法查詢absQ對應的DocSet集合:getPositiveDocSet方法首先查詢filterCache中是否存在absQ查詢對象對應的結果,存在,則直接返回結果,否則,從索引中查詢并把結果保存到filterCache中。

接下來進行集合運算,如果Query對象a和absQ是同一個對象,表明本次查詢是“正向查詢”,則進行”交集“運算b.intersectionSize(positiveA),否則進行”差集“運算,最終返回結果集的size。由此可見,facet query對應的count值是集合交集和差集運算后的集合的size。

BTW,如果沒有用到filterCache,會每次都構造一個BooleanQuery查詢對象到索引中去查詢。

5. FacetComponent Facet排序 Solr的FacetComponet支持兩種排序: count和index。count是按每個詞出現的次數,index是按詞的字典順序。如果查詢參數不指定facet.sort,Solr默認是按count排序。排序功能是在FacetComponet的finishStage方法中完成的,詳見源碼。

總結

本文介紹了Solr Facet技術,并在此基礎上實現了DEAL搜索的導航功能,然后從源碼級別分析了Solr處理Facet請求的詳細過程。

參考資料

  • SimpleFacetParameters http://wiki.apache.org/solr/SimpleFacetParameters
  • 使用Apache Lucene和Solr 4實現下一代搜索和分析 http://www.ibm.com/developerworks/cn/java/j-solr-lucene/
  • Faceted Search with Solr http://searchhub.org/2009/09/02/faceted-search-with-solr/

總結

以上是生活随笔為你收集整理的Solr Facet技术的应用与研究的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

日韩av成人免费看 | 亚洲一区久久久 | 夜夜操天天干 | 国产精品爽爽爽 | 国产精品一区二区在线免费观看 | 国产福利资源 | 免费看特级毛片 | 不卡电影一区二区三区 | 成人黄在线 | 黄色一级免费 | 香蕉视频免费在线播放 | 精品国产乱码久久久久久久 | 久久女教师| 成人午夜剧场在线观看 | 美女网站在线观看 | 亚洲一区二区三区在线看 | 视频成人| 91在线视频在线 | 韩国精品在线 | 69精品视频在线观看 | 日韩精品久久久久久久电影99爱 | 日韩精品免费一区二区在线观看 | www.国产在线观看 | 精品在线视频播放 | 国产亚洲精品福利 | 成人性生活大片 | 日韩电影久久久 | 在线成人国产 | 欧美一级片在线免费观看 | 欧美性脚交 | 一区二区久久久久 | 夜夜爽夜夜操 | 久久精品首页 | 四虎在线观看视频 | 亚洲精品日韩av | 国产精品久久网站 | 91最新中文字幕 | 热久久在线视频 | 国产精品国产亚洲精品看不卡15 | 国产精品久久久久久五月尺 | 国产不卡精品 | 天天综合精品 | 亚洲成人一二三 | 欧美人人爱 | 国产精品观看在线亚洲人成网 | 国内精品久久久久影院一蜜桃 | 成年人在线免费看 | 欧美人操人 | 日韩国产欧美在线视频 | 一区二区不卡在线观看 | 男女啪啪免费网站 | 亚洲国产一区av | 国产精品成人免费精品自在线观看 | 丁香婷婷激情啪啪 | 欧美日韩在线视频免费 | 久久国产一二区 | 麻花豆传媒mv在线观看 | 欧美激情一区不卡 | 丝袜制服综合网 | 亚洲欧美视频在线播放 | 精品一区二区三区香蕉蜜桃 | 三级黄色理论片 | 丁香婷婷综合网 | 欧美激情另类 | 开心色激情网 | 久久这里只有精品视频首页 | 国产黄在线观看 | 91精品在线免费视频 | a天堂中文在线 | 高清精品久久 | 99久久精品免费看 | 综合网婷婷 | 久久综合九色综合网站 | 婷婷六月丁香激情 | 激情视频在线观看网址 | 91成人精品国产刺激国语对白 | 精品在线观看免费 | 欧美aa级| 免费看污片 | 深夜免费小视频 | 99久久精品网| 免费又黄又爽视频 | 中文字幕一区二区三区精华液 | 成年人在线免费看 | 久久国产亚洲视频 | 在线观看免费视频你懂的 | 激情综合五月天 | 在线观看的av网站 | www.国产视频 | 天堂网av 在线 | 国产一级大片免费看 | 最近日本韩国中文字幕 | 成人免费在线视频观看 | 亚洲高清在线精品 | www.啪啪.com| 在线观看91精品国产网站 | 久久国产精品影片 | 999毛片| 激情五月婷婷综合 | 亚洲精品国产精品乱码不99热 | 亚洲1区在线 | 国产免费成人 | www·22com天天操| 天天天天色综合 | 欧美日韩性 | 国产成人精品一区二区在线观看 | 婷婷激情在线 | av在线看网站 | 天天操天天操一操 | 久久这里只有精品9 | 天天精品视频 | 精品女同一区二区三区在线观看 | 日日爽 | 人人cao | 黄色小说免费在线观看 | 狠狠的日 | 国产91在线观看 | 国产一级特黄毛片在线毛片 | 又黄又刺激视频 | 日韩免费三区 | 99免在线观看免费视频高清 | 天天摸日日操 | 久久精品国产亚洲精品 | 国产精品久久久久久久久久久久午夜 | 天天色官网 | 蜜桃视频日本 | 久久婷婷色综合 | 国产精品国产三级国产专区53 | 国精产品一二三线999 | 最新三级在线 | 最近中文字幕免费av | 日韩三级中文字幕 | 精品9999 | 国产精品久久久久久一区二区三区 | 我爱av激情网| 中文字幕久久精品亚洲乱码 | 91高清免费在线观看 | 夜夜操网站 | 久久精品国产第一区二区三区 | 超碰人人99 | 91精选在线观看 | 黄色一级大片免费看 | 亚洲精品免费在线观看 | 草久中文字幕 | 91av电影在线观看 | 国产精品18p | 精品视频久久久 | 视频在线国产 | 不卡av在线免费观看 | 国产一级在线看 | 91尤物在线播放 | 免费在线观看黄色网 | 玖草在线观看 | 精品久久久久久一区二区里番 | 成人羞羞视频在线观看免费 | 中文字幕日韩伦理 | 在线网站黄 | 国产青草视频在线观看 | 亚洲性少妇性猛交wwww乱大交 | 国产免费观看av | 在线a视频免费观看 | 久草亚洲视频 | 涩涩网站在线观看 | 亚洲欧洲中文日韩久久av乱码 | 青草视频在线 | 日韩成人中文字幕 | 国产福利精品在线观看 | 人人澡超碰碰 | 狠狠干狠狠艹 | 国产日韩精品在线 | 久久乐九色婷婷综合色狠狠182 | 在线观看精品一区 | 久久精品欧美一区 | 欧美人牲 | 人人网人人爽 | 91精品爽啪蜜夜国产在线播放 | 五月天色中色 | 久久精品视频播放 | 国产精品免费一区二区三区在线观看 | 久久av在线播放 | 黄色免费高清视频 | 国产1区2区3区在线 亚洲自拍偷拍色图 | 99精品国产免费久久久久久下载 | 久久免费视频在线观看 | 国产精品日韩久久久久 | 日本xxxxav | 日韩视频在线播放 | 999久久久欧美日韩黑人 | 91观看视频 | 黄网av在线 | av观看免费在线 | 精品久久久久免费极品大片 | 欧美大片在线看免费观看 | 最近2019好看的中文字幕免费 | 日韩免费视频在线观看 | 国产在线色| 久久综合爱| 日韩一区二区在线免费观看 | 亚洲视频一区二区三区在线观看 | 欧美日韩免费一区 | 成人黄色资源 | 国产成人精品一区二区在线 | 18国产精品白浆在线观看免费 | 又污又黄的网站 | 精品在线一区二区 | 成人免费视频网站 | 午夜精品视频福利 | jizz欧美性9 国产一区高清在线观看 | 成人avav| 在线看片一区 | 一区二区三区免费在线观看视频 | 国内精品久久久久 | 人人狠狠综合久久亚洲婷 | 中文字幕在线视频第一页 | 中文字幕 在线 一 二 | 久色小说 | 免费a v在线| av成人在线电影 | 玖玖在线免费视频 | 国产精品一区二区三区免费视频 | 91成年人网站 | 色综合天天干 | 亚洲精品久久激情国产片 | 不卡视频一区二区三区 | 黄色字幕网 | 免费视频一区二区 | 国产成人不卡 | 久草资源在线 | 99精彩视频 | 亚洲一区二区高潮无套美女 | 欧美日韩久久一区 | 日韩免费福利 | 日日爽天天 | 天天躁天天操 | 在线色吧 | 亚洲视频在线观看免费 | 日韩欧三级 | 婷婷六月天在线 | 国产精品久久嫩一区二区免费 | 国产区高清在线 | 成人国产精品入口 | 最新午夜电影 | 亚洲欧美在线视频免费 | 日本中文字幕免费观看 | 日韩av免费在线看 | 亚洲人xxx | 国产精品成人免费精品自在线观看 | 欧美久久久久久久久久久 | 欧美日本不卡高清 | 欧美激情综合色 | 国产精品片 | 日日操夜| 美女网站视频免费黄 | 久久中文欧美 | 国产视频99| 国产69久久 | 四虎在线影视 | av蜜桃在线 | 蜜臀av性久久久久蜜臀aⅴ四虎 | 91污污 | 国产精品99页 | 日韩免费看 | 欧美成年人在线视频 | 天天爱天天操天天射 | 中文字幕乱码电影 | 久久久久久久久久久久99 | 在线va网站 | 国内外成人在线 | 国产精品久久久久永久免费观看 | 五月婷婷视频在线 | 国产中文a | 人人爽人人爱 | 欧美成人免费在线 | 毛片在线网 | 五月天国产精品 | 日本中文一区二区 | 在线看v片| 国产精品嫩草影视久久久 | 毛片a级片 | 国产精品免费在线观看视频 | 丝袜网站在线观看 | 中文字幕免费观看 | 日韩精品一区二区三区中文字幕 | 国产aaa大片 | 激情网第四色 | 狠狠干夜夜操天天爽 | 日本性高潮视频 | av在线网站免费观看 | 成人高清在线 | 日韩免费高清在线观看 | 午夜视频在线观看欧美 | 日韩久久久久久 | 国产精品免费观看视频 | 色成人亚洲 | 97电院网手机版 | 青青草在久久免费久久免费 | 国产免费不卡 | 香蕉视频免费在线播放 | 少妇bbw搡bbbb搡bbb | 国产精品初高中精品久久 | 在线小视频你懂的 | 天天操天天色天天 | 国内精品久久天天躁人人爽 | 美女视频久久黄 | 日韩成人黄色 | 国产成人av电影在线观看 | 久久久久影视 | 精品理论片 | 日日夜夜狠狠 | 欧美亚洲成人免费 | 黄色三级免费观看 | 精品一区二区三区在线播放 | 色狠狠综合天天综合综合 | 国产高清免费在线观看 | 婷婷久草 | 99免在线观看免费视频高清 | 日韩中文字幕免费视频 | 日韩.com| 成人免费视频网 | 免费观看视频黄 | av网站在线观看免费 | 精品一区二区三区香蕉蜜桃 | 国产成人福利在线 | 91人人在线 | 日日夜夜网站 | 日韩av电影网站在线观看 | 在线观看国产www | 五月婷婷一区二区三区 | 色老板在线视频 | 成人欧美亚洲 | 亚洲一级特黄 | 手机av在线网站 | 欧美在线一| 深爱开心激情网 | 欧美a级在线 | 91探花在线 | 国产视频一区在线 | 亚洲国产中文在线观看 | 黄色网址中文字幕 | 日本久久中文 | 在线 国产一区 | 韩日电影在线观看 | 超碰97在线资源 | 婷婷成人在线 | 黄色aa久久 | 亚洲国产视频网站 | 久久在线影院 | zzijzzij亚洲成熟少妇 | 99久久精品国产一区二区成人 | 亚洲精品资源在线 | 国产精品国产亚洲精品看不卡 | 亚洲 中文字幕av | 亚洲 中文 欧美 日韩vr 在线 | 久久免费黄色网址 | 天天操操操操操 | 日本一区二区三区免费观看 | 日韩激情小视频 | 又黄又刺激的网站 | 久久视频这里有久久精品视频11 | 一级黄色片在线播放 | 国产综合在线视频 | av在线电影网站 | av一区二区三区在线 | 色综合久久久久久中文网 | 九九九九九九精品任你躁 | 东方av在| 久久精品2 | 亚洲黄色免费在线 | 亚洲人成在线电影 | 久久国产日韩 | 日韩不卡高清视频 | 狠狠狠狠狠狠 | 国产精品午夜久久 | 久久人91精品久久久久久不卡 | 少妇bbw搡bbbb搡bbb | 日韩在线激情 | 天天干天天做天天操 | 999一区二区三区 | 国产午夜精品福利视频 | 中文字幕资源站 | 韩日av一区二区 | 6080yy午夜一二三区久久 | 精品中文字幕在线 | 国产无套精品久久久久久 | 免费一级片在线观看 | 在线免费看片 | 国产精品久久久久av | 黄色日批网站 | 久久久影院一区二区三区 | 在线观看免费一级片 | 狠狠操狠狠 | 中文字幕亚洲高清 | 色www.| 亚洲成人精品久久久 | 国产粉嫩在线观看 | 91免费黄视频 | 亚洲天堂va| 亚洲 成人 欧美 | 成人亚洲精品国产www | 色婷婷婷 | 天天干天天拍天天操 | 欧美日韩后 | 丁香五月亚洲综合在线 | 成年人免费av网站 | 91porny九色在线播放 | 天天色天天色天天色 | 一区二区视频在线看 | av中文资源在线 | 夜色资源网| 欧美日韩不卡一区二区 | 亚洲精品一区二区三区新线路 | 国产黄免费在线观看 | 国产亚洲精品久 | 国产在线一区二区 | 亚洲欧美精品一区 | 国产精品久久久久一区二区三区共 | 免费久久久久久久 | 国产精品永久免费 | 在线观看国产成人av片 | 久久久91精品国产一区二区三区 | 麻豆国产电影 | 久久呀| 91av综合 | a黄色一级片| 亚洲三级视频 | 中文字幕av免费在线观看 | 91久久在线观看 | 在线看片日韩 | 日韩精品视频在线免费观看 | 国产精品一码二码三码在线 | 天天干国产 | 精品国内| 国产又粗又长的视频 | 精品视频在线看 | 亚洲精品在线一区二区 | 最新色站 | 日韩超碰| 精品国产乱码久久久久久三级人 | 国产丝袜网站 | 国产 中文 日韩 欧美 | 毛片1000部免费看 | 亚洲成人av片 | 久久久久国产精品免费 | 999久久久久久 | 亚洲精品88欧美一区二区 | 特级大胆西西4444www | 午夜久久电影网 | 在线免费黄色 | 91探花国产综合在线精品 | 91豆麻精品91久久久久久 | 久久视频精品在线观看 | 天天操伊人 | 久久久久久久久久影院 | 亚洲电影av在线 | 国产精品久久久久久av | 国产精彩视频 | 一级欧美一级日韩 | 午夜国产在线观看 | 超碰国产在线 | 亚洲欧洲日韩在线观看 | 国产精品porn | jizzjizzjizz亚洲 | 成人免费视频网址 | 麻豆国产露脸在线观看 | 成人久久18免费网站图片 | 天堂中文在线播放 | 国产欧美最新羞羞视频在线观看 | 97综合视频| 不卡av免费在线观看 | 韩日电影在线 | 成人四虎 | 免费看国产视频 | 国产亚洲精品免费 | 日本不卡一区二区三区在线观看 | 色五月成人 | 99在线观看免费视频精品观看 | av青草| 98久9在线 | 免费 | 国产亚洲精品久久久久久网站 | 婷婷久久精品 | 免费的国产精品 | 一二三区高清 | 日韩xxxxxxxxx | 在线国产精品视频 | 日韩精品久久久免费观看夜色 | 久久人网| 日韩精品视频免费看 | 国产 一区二区三区 在线 | 亚洲二级片 | 日韩一二区在线观看 | www.一区二区三区 | 日韩国产欧美视频 | 国产精品一区二区精品视频免费看 | 精品美女在线视频 | 日韩精品一区二区三区在线视频 | 狠狠色丁香九九婷婷综合五月 | 在线观看网站你懂的 | 日韩免费一二三区 | 美女视频久久久 | 97成人精品视频在线观看 | 国产成人一级电影 | 国产精品一区二区在线免费观看 | 激情影院在线 | 成人av在线一区二区 | www.五月天色 | 精品国内自产拍在线观看视频 | 91精品老司机久久一区啪 | 91视频免费看网站 | 亚洲国产精品成人女人久久 | 亚洲精品mv在线观看 | 黄色福利网站 | 久久精品91视频 | 精品国产伦一区二区三区 | 97爱爱爱 | 亚洲精品视| 日韩欧美在线高清 | 国产在线播放不卡 | 日韩在线网 | 日本一区二区不卡高清 | 操操综合 | 欧美日韩一区二区在线观看 | av在线免费观看不卡 | 国产中文欧美日韩在线 | 亚洲另类久久 | 91精品国产91久久久久 | 伊人国产女 | 免费a视频 | 西西大胆啪啪 | 亚洲三级网站 | 久久精品99国产国产精 | 欧美性极品xxxx娇小 | 国产精品中文在线 | 日韩在线视频精品 | www.天天射 | 美女啪啪图片 | 久久亚洲福利 | 五月婷在线| 91精品推荐| 五月婷婷一区 | 亚洲黄色在线观看 | a在线观看视频 | 欧美做受高潮1 | 成人午夜黄色 | 777久久久 | 欧美极品少妇xxxxⅹ欧美极品少妇xxxx亚洲精品 | 亚洲精品xxx| 日韩av在线免费看 | 午夜体验区 | 超碰在线个人 | 久久精品久久久久 | 国产精品成人免费一区久久羞羞 | 日本中文字幕影院 | 国产污视频在线观看 | 91私密视频 | 91在线播放综合 | 日韩精品免费在线视频 | 国产精品完整版 | 国产精美视频 | 色婷婷www | 午夜av日韩 | 精品国产乱码久久久久久浪潮 | 久久情侣偷拍 | 日韩精品在线观看视频 | 在线观看一区 | 日日夜夜天天久久 | 亚洲国产精品电影 | 色综合久久久久综合99 | 一区二区三区动漫 | 日韩视频精品在线 | 91视频国产高清 | 亚a在线 | 亚洲色影爱久久精品 | 婷婷色中文 | av黄网站 | 日韩视频免费观看高清 | 亚洲一区二区三区在线看 | 亚洲亚洲精品在线观看 | 狠狠干天天操 | 久久成人国产精品免费软件 | 国产精品久久 | 黄www在线观看 | 808电影| 蜜臀av在线一区二区三区 | 在线国产视频 | 特黄特色特刺激视频免费播放 | 精品视频免费看 | 黄色成人小视频 | 成人试看120秒 | 久久综合色天天久久综合图片 | 久久99久久精品国产 | 国产精品久久久久久久久久妇女 | 黄色av电影网 | 亚洲成人黄色在线观看 | 久久黄色影院 | www.久久免费视频 | 日韩电影在线一区 | 久久久久这里只有精品 | 午夜久久久久久久久久影院 | 夜夜嗨av色一区二区不卡 | 国产精品高清免费在线观看 | 中文视频在线看 | 一级黄色免费网站 | www色综合 | 中文字幕在 | 毛片永久免费 | 99re6热在线精品视频 | 免费观看一区二区 | 国产精品久久久久9999 | 伊人婷婷久久 | 久久综合婷婷国产二区高清 | 久久一区91 | 久久精品国产亚洲精品 | 999久久久久久久久久久 | 色综合天天综合网国产成人网 | 激情五月在线视频 | 黄色成人毛片 | 激情综合电影网 | 久草网在线观看 | 精品一区二区在线免费观看 | 久草网在线视频 | 伊人婷婷色 | 午夜视频免费播放 | 精品亚洲一区二区三区 | 亚洲视频第一页 | 久久特级毛片 | 97在线视 | 99精品电影 | 999久久久 | 最近高清中文在线字幕在线观看 | 成人黄色大片在线免费观看 | 免费观看黄色av | 国产极品尤物在线 | 中文av影院 | 欧洲视频一区 | 中文字幕免 | 国内精品久久久久久久影视简单 | 最近高清中文字幕 | 天堂网av在线 | 麻豆av一区二区三区在线观看 | 婷婷久久一区 | 久国产在线播放 | 99re久久资源最新地址 | 永久黄网站色视频免费观看w | 一区视频在线 | 日韩三级在线观看 | av在线亚洲天堂 | 日日射av| 亚洲成人av在线 | 97人人人人 | 国内精品久久久久影院日本资源 | 在线看黄网站 | 国产精品久久久区三区天天噜 | 91| 亚洲网站在线看 | 韩国av免费观看 | 久久精品久久精品久久39 | 色婷婷电影网 | 性色xxxxhd| 国产高清在线a视频大全 | av免费网站观看 | 婷婷六月丁香激情 | 6080yy午夜一二三区久久 | 黄色视屏av| 国产在线色站 | 亚洲h色精品 | 成人免费 在线播放 | 又黄又爽免费视频 | 成人影片在线播放 | 精品黄色在线 | 久久久www成人免费精品张筱雨 | 国产福利一区二区三区视频 | 久久久久久久久久久久国产精品 | www.av小说 | 欧美精品中文在线免费观看 | 99re视频在线观看 | 久久激情日本aⅴ | 亚洲一区二区三区四区在线视频 | 日日夜夜精品免费视频 | 亚洲国产精品女人久久久 | 欧美国产精品久久久久久免费 | 96在线| 亚洲第一成网站 | 国产无套精品久久久久久 | 日韩成人邪恶影片 | 天堂av网在线| 久久一区二区三区超碰国产精品 | 精品久久91 | 一本一本久久a久久 | 免费黄色激情视频 | 色妞色视频一区二区三区四区 | 中国一级特黄毛片大片久久 | 97干com| 欧美另类xxx| 十八岁以下禁止观看的1000个网站 | 91在线porny国产在线看 | 国产亚洲精品久久久久久无几年桃 | 激情欧美一区二区免费视频 | 免费电影一区二区三区 | 激情综合网五月 | av天天干 | 人人插人人做 | 午夜精品久久久久久久久久久久久久 | 欧美国产不卡 | 在线观看第一页 | 国产97视频 | 中文字幕日韩高清 | 在线免费视频你懂的 | 在线观看91 | 久久久久久久18 | 91久久精品日日躁夜夜躁国产 | 91精品爽啪蜜夜国产在线播放 | 丁香婷婷激情啪啪 | 日本三级香港三级人妇99 | 99久高清在线观看视频99精品热在线观看视频 | 人人艹人人 | 98超碰在线 | 四虎永久免费网站 | 99久久久久久久久 | 天天干天天拍天天操天天拍 | 免费在线a | 在线观看日韩免费视频 | 91精品系列| 久久久午夜电影 | 亚洲欧美偷拍另类 | 久久99精品国产麻豆婷婷 | 91视频三区| 午夜电影一区 | 美女av在线免费 | 欧美9999 | 久久综合久久综合久久 | 极品久久久久久久 | 99热九九这里只有精品10 | 天天色天天色 | 久久中文字幕在线视频 | 日韩视频 一区 | 久久看毛片 | 色av网站 | www.狠狠插.com | 91九色综合 | 狠狠色丁香婷婷综合欧美 | 蜜臀av性久久久久av蜜臀三区 | 久久久久久久久久久久久久电影 | 97高清免费视频 | 久久精品中文字幕少妇 | 在线91精品| 91精品人成在线观看 | 国产精品密入口果冻 | av网站免费线看精品 | 69av在线播放| 久久综合色天天久久综合图片 | 五月激情丁香婷婷 | 日韩在线理论 | 波多野结衣视频一区 | 国产成人一区二区三区 | 黄色影院在线免费观看 | 亚州国产精品视频 | 婷婷av综合| 久久久久日本精品一区二区三区 | 91欧美视频网站 | 国产精品精品久久久久久 | 国产午夜精品在线 | 欧美精品一级视频 | 亚洲欧美日韩精品久久久 | 亚洲综合欧美精品电影 | 91精品国 | 美女视频网站久久 | 日韩免费视频一区二区 | 亚洲 综合 国产 精品 | 日本黄色免费在线观看 | 黄色性av| 亚洲美女免费精品视频在线观看 | 99色在线观看视频 | 欧美日韩一区二区在线观看 | 99精品国产99久久久久久97 | 国产91免费看 | 在线观看片 | 国产成人精品综合久久久久99 | 在线观看mv的中文字幕网站 | 中文字幕精品三级久久久 | 夜夜夜夜猛噜噜噜噜噜初音未来 | 日韩在线观看影院 | 亚洲热久久 | 久久精品一二三 | 天天综合狠狠精品 | 五月婷婷丁香色 | 成人av免费在线播放 | 中文区中文字幕免费看 | 久草在线免费资源 | av动图| 日韩成人精品在线观看 | 在线观看mv的中文字幕网站 | 日韩中文字幕在线观看 | 成人免费在线看片 | 热久久这里只有精品 | 国产高清免费在线播放 | 国产精品久久久久久欧美 | 国产在线1区 | 91理论电影 | 欧美性脚交 | 亚洲一区二区三区91 | 国产精品久久久久国产a级 激情综合中文娱乐网 | 黄色在线看网站 | 成人av网页 | 久国产在线播放 | 日韩一区二区三区免费视频 | 日韩精品在线观看视频 | 手机看片福利 | 久久久这里有精品 | 久久99国产精品视频 | 色噜噜日韩精品一区二区三区视频 | 亚洲japanese制服美女 | 2023国产精品自产拍在线观看 | 成人午夜性影院 | 国产亚洲精品久久久久久久久久久久 | 国产不卡一二三区 | 日日草av| 亚洲精品在线视频播放 | 成人在线网站观看 | 国产在线色 | 国产成人精品一区二区三区福利 | 日日干 天天干 | 精品久久久久亚洲 | 欧美精品久久久久久久久久 | 在线免费观看黄色 | 天天躁天天躁天天躁婷 | 女人18毛片90分钟 | 99精品在线观看 | 久久免费视频精品 | 免费中文字幕在线观看 | 91精品在线观看视频 | 免费观看久久 | 成人网在线免费视频 | 国产精品去看片 | 天天天色综合a | 在线观看av不卡 | 人人草人 | 在线亚洲午夜片av大片 | 亚洲狠狠婷婷综合久久久 | 69久久久| av网站地址 | 公与妇乱理三级xxx 在线观看视频在线观看 | 免费看的国产视频网站 | 国产在线不卡精品 | 久草视频手机在线 | 99免费国产| 综合成人在线 | 久久免费国产电影 | 深夜免费小视频 | 久草 | 亚洲一区二区三区毛片 | 国产99久久99热这里精品5 | 最新av在线播放 | a天堂最新版中文在线地址 久久99久久精品国产 | 国产精品99久久久久久有的能看 | 综合色天天 | 国产精品久久久久久久久软件 | 国产亚洲视频在线观看 | 免费手机黄色网址 | 日韩激情视频在线观看 | 久久久久久久国产精品视频 | 97人人添人澡人人爽超碰动图 | 免费黄a| 欧美一区在线观看视频 | 99久久国产免费,99久久国产免费大片 | 久久精视频 | 欧美极品少妇xbxb性爽爽视频 | 狠狠干婷婷色 | 国产手机视频在线观看 | 国产成人精品在线观看 | 日韩毛片久久久 | 国产 日韩 中文字幕 | a成人v在线 | 日本一区二区三区免费看 | 手机在线永久免费观看av片 | 国产一级久久 | 蜜桃视频色 | 国产一区电影在线观看 | 色婷婷av在线| 天天天天天天干 | av一区在线 | 国产亚洲人| 久久不卡日韩美女 | 日韩精品一区二区三区免费观看视频 | 在线观看日韩专区 | av性网站| 91视频久久久久久 | 精品久久久久一区二区国产 | 97视频人人澡人人爽 | 91免费在线 | 国产不卡视频在线播放 | 美女视频久久 | 91大神电影| 天天色天天草天天射 | 日三级在线| 久久涩视频 | 日韩在线视频一区二区三区 | 有码中文在线 | 久久久久综合网 | 日日夜夜天天 | 日韩电影在线观看一区 | 人人爱人人做人人爽 | 久草在线视频精品 | 激情综合五月天 | 午夜av剧场 | 亚洲国产欧美在线人成大黄瓜 | 精品影院 | 91麻豆精品久久久久久 | 99视频在线精品免费观看2 | 九九免费视频 | 五月亚洲综合 | 久久综合精品国产一区二区三区 | 国产黄色免费看 | 国产视频久久久 | 日韩网站在线 | 久久久一本精品99久久精品 | 精品人人爽 | 成人一级片在线观看 | 免费视频一区 | 免费视频国产 | 97视频在线观看视频免费视频 | 欧美中文字幕第一页 | 91系列在线 | 国产精品成人av久久 | 91精品国产三级a在线观看 | 欧美日韩高清一区二区 国产亚洲免费看 | 夜色资源网| 亚洲理论电影网 | 在线有码中文字幕 | 国产精品久久久久影院 | 日韩久久久久久 | 国产九九在线 | 欧美日韩一区二区视频在线观看 | 国产精品黄色影片导航在线观看 | 欧美一区二视频在线免费观看 | 2022中文字幕在线观看 | 五月婷婷视频在线 | 99在线精品视频在线观看 | 中文字幕av一区二区三区四区 | 噜噜色官网| 亚洲丁香久久久 | 午夜久久久精品 | 亚洲国产精品成人av | 爱情影院aqdy鲁丝片二区 | 久久99久久99精品免视看婷婷 | 国产高h视频 | 四虎国产精| 亚洲视频六区 | 人人看人人草 | 丁香六月婷婷激情 | 成年人视频免费在线 | 少妇做爰k8经典 | 干av在线 | 最近最新中文字幕 | 日韩欧美一区二区三区在线观看 | 97人人看 | 亚洲综合狠狠干 | 成人av一区二区三区 | 久久手机在线视频 | 日本黄色黄网站 | 五月天婷亚洲天综合网鲁鲁鲁 | 综合国产在线观看 | 中文在线字幕免费观 | 操操综合| 黄色一级动作片 | 91精品久久久久久久久久久久久 | 亚洲精品在线观看av | 国产美女网站在线观看 | 国产a精品| 成人av久久 | 亚洲aⅴ一区二区三区 | av在线播放国产 | av动态图片 | 99在线观看精品 | www.久久91| 91成人网页版 | 久久久久成人精品亚洲国产 | 国产91免费观看 | 国产香蕉97碰碰久久人人 | 亚洲欧洲中文日韩久久av乱码 | 麻豆精品国产传媒 | 天天射日 | 中文区中文字幕免费看 | 国产伦精品一区二区三区免费 | 91精品国产麻豆国产自产影视 | 91麻豆精品国产自产在线游戏 | 日韩高清国产精品 | www.色综合.com | 国产不卡一区二区视频 | 美女国产网站 | 九九九九九九精品任你躁 | 欧美亚洲精品在线观看 | 日日干av| 国产 在线 日韩 | 97精品超碰一区二区三区 | 国产成人一区二区三区久久精品 | 久久在草| 日韩午夜网站 | 欧美激情视频一区二区三区 |