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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

solr查询工作原理深入内幕

發布時間:2025/4/5 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 solr查询工作原理深入内幕 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1.什么是Lucene?

作為一個開放源代碼項目,Lucene從問世之后,引發了開放源代碼社群的巨大反響,程序員們不僅使用它構建具體的全文檢索應用,而且將之集成到各種系統軟件中去,以及構建Web應用,甚至某些商業軟件也采用了Lucene作為其內部全文檢索子系統的核心。apache軟件基金會的網站使用了Lucene作為全文檢索的引擎,IBM的開源軟件eclipse的2.1版本中也采用了Lucene作為幫助子系統的全文索引引擎,相應的IBM的商業軟件Web Sphere中也采用了Lucene。Lucene以其開放源代碼的特性、優異的索引結構、良好的系統架構獲得了越來越多的應用。

Lucene作為一個全文檢索引擎,其具有如下突出的優點:

(1)索引文件格式獨立于應用平臺。Lucene定義了一套以8位字節為基礎的索引文件格式,使得兼容系統或者不同平臺的應用能夠共享建立的索引文件。

(2)在傳統全文檢索引擎的倒排索引的基礎上,實現了分塊索引,能夠針對新的文件建立小文件索引,提升索引速度。然后通過與原有索引的合并,達到優化的目的。

(3)優秀的面向對象的系統架構,使得對于Lucene擴展的學習難度降低,方便擴充新功能。

(4)設計了獨立于語言和文件格式的文本分析接口,索引器通過接受Token流完成索引文件的創立,用戶擴展新的語言和文件格式,只需要實現文本分析的接口。

(5)已經默認實現了一套強大的查詢引擎,用戶無需自己編寫代碼即使系統可獲得強大的查詢能力,Lucene的查詢實現中默認實現了布爾操作、模糊查詢(Fuzzy Search)、分組查詢等等。

2.什么是solr?

為什么要solr:

  solr是將整個索引操作功能封裝好了的搜索引擎系統(企業級搜索引擎產品)

  solr可以部署到單獨的服務器上(WEB服務),它可以提供服務,我們的業務系統就只要發送請求,接收響應即可,降低了業務系統的負載

  solr部署在專門的服務器上,它的索引庫就不會受業務系統服務器存儲空間的限制

  solr支持分布式集群,索引服務的容量和能力可以線性擴展

solr的工作機制:

  solr就是在lucene工具包的基礎之上進行了封裝,而且是以web服務的形式對外提供索引功能

  業務系統需要使用到索引的功能(建索引,查索引)時,只要發出http請求,并將返回數據進行解析即可

Solr 是Apache下的一個頂級開源項目,采用Java開發,它是基于Lucene的全文搜索服務器。Solr提供了比Lucene更為豐富的查詢語言,同時實現了可配置、可擴展,并對索引、搜索性能進行了優化。

Solr可以獨立運行,運行在Jetty、Tomcat等這些Servlet容器中,Solr 索引的實現方法很簡單,用 POST 方法向 Solr 服務器發送一個描述 Field 及其內容的 XML 文檔,Solr根據xml文檔添加、刪除、更新索引 。Solr 搜索只需要發送 HTTP GET 請求,然后對 Solr 返回Xml、json等格式的查詢結果進行解析,組織頁面布局。Solr不提供構建UI的功能,Solr提供了一個管理界面,通過管理界面可以查詢Solr的配置和運行情況。

3.lucene和solr的關系

solr是門戶,lucene是底層基礎,solr和lucene的關系正如hadoop和hdfs的關系。

?4.Jetty是什么?

  Jetty 是一個開源的servlet容器,它為基于Java的web容器,例如JSP和servlet提供運行環境。Jetty是使用Java語言編寫的,它的API以一組JAR包的形式發布。開發人員可以將Jetty容器實例化成一個對象,可以迅速為一些獨立運行(stand-alone)的Java應用提供網絡和web連接。

5.流程概況

?

6.Jetty接收請求并處理

設置本地調試見<lucene-solr本地調試方法>所示

StartSolrJetty.java

public static void main( String[] args ) {//System.setProperty("solr.solr.home", "../../../example/solr"); Server server = new Server();ServerConnector connector = new ServerConnector(server, new HttpConnectionFactory());// Set some timeout options to make debugging easier.connector.setIdleTimeout(1000 * 60 * 60);connector.setSoLingerTime(-1);connector.setPort(8983);server.setConnectors(new Connector[] { connector });WebAppContext bb = new WebAppContext();bb.setServer(server);bb.setContextPath("/solr");bb.setWar("solr/webapp/web");// // START JMX SERVER // if( true ) { // MBeanServer mBeanServer = ManagementFactory.getPlatformMBeanServer(); // MBeanContainer mBeanContainer = new MBeanContainer(mBeanServer); // server.getContainer().addEventListener(mBeanContainer); // mBeanContainer.start(); // } server.setHandler(bb);try {System.out.println(">>> STARTING EMBEDDED JETTY SERVER, PRESS ANY KEY TO STOP");server.start();while (System.in.available() == 0) {Thread.sleep(5000);}server.stop();server.join();} catch (Exception e) {e.printStackTrace();System.exit(100);}}

其中,Server是http服務器,聚合了Connector(http請求接收器)和請求處理器Hanlder,Server本身是一個handler和一個線程池,Connector使用線程池來調用handle方法。

/** Jetty HTTP Servlet Server.* This class is the main class for the Jetty HTTP Servlet server.* It aggregates Connectors (HTTP request receivers) and request Handlers.* The server is itself a handler and a ThreadPool. Connectors use the ThreadPool methods* to run jobs that will eventually call the handle method.*/

其工作流程如下圖所示

因其不是本文重點,故略去不述。

7.solr調用lucene過程

上篇文章<solr調用lucene底層實現倒排索引源碼解析>已經論述,可對照上面的整體流程圖進行解讀,故略去不述

?8.lucene調用過程

從上圖可以看出分兩個階段

8.1 創建Weight

? ?8.1.1 創建BooleanWeight

BooleanWeight.java

BooleanWeight(BooleanQuery query, IndexSearcher searcher, boolean needsScores, float boost) throws IOException {super(query);this.query = query;this.needsScores = needsScores;this.similarity = searcher.getSimilarity(needsScores);weights = new ArrayList<>();for (BooleanClause c : query) {Query q=c.getQuery(); Weight w = searcher.createWeight(q, needsScores && c.isScoring(), boost);weights.add(w);}}

? 8.1.2 同義詞權重分析

SynonymQuery.java

@Overridepublic Weight createWeight(IndexSearcher searcher, boolean needsScores, float boost) throws IOException {if (needsScores) {return new SynonymWeight(this, searcher, boost);} else {// if scores are not needed, let BooleanWeight deal with optimizing that case.BooleanQuery.Builder bq = new BooleanQuery.Builder();for (Term term : terms) {bq.add(new TermQuery(term), BooleanClause.Occur.SHOULD);}return searcher.rewrite(bq.build()).createWeight(searcher, needsScores, boost);}}

8.1.3?TermQuery.java

@Overridepublic Weight createWeight(IndexSearcher searcher, boolean needsScores, float boost) throws IOException {final IndexReaderContext context = searcher.getTopReaderContext();final TermContext termState;if (perReaderTermState == null|| perReaderTermState.wasBuiltFor(context) == false) {if (needsScores) {// make TermQuery single-pass if we don't have a PRTS or if the context// differs!termState = TermContext.build(context, term);} else {// do not compute the term state, this will help save seeks in the terms// dict on segments that have a cache entry for this querytermState = null;}} else {// PRTS was pre-build for this IStermState = this.perReaderTermState;}return new TermWeight(searcher, needsScores, boost, termState);}

調用TermWeight,計算CollectionStatistics和TermStatistics

public TermWeight(IndexSearcher searcher, boolean needsScores,float boost, TermContext termStates) throws IOException {super(TermQuery.this);if (needsScores && termStates == null) {throw new IllegalStateException("termStates are required when scores are needed");}this.needsScores = needsScores;this.termStates = termStates;this.similarity = searcher.getSimilarity(needsScores);final CollectionStatistics collectionStats;final TermStatistics termStats;if (needsScores) {termStates.setQuery(this.getQuery().getKeyword());collectionStats = searcher.collectionStatistics(term.field());termStats = searcher.termStatistics(term, termStates);} else {// we do not need the actual stats, use fake stats with docFreq=maxDoc and ttf=-1final int maxDoc = searcher.getIndexReader().maxDoc();collectionStats = new CollectionStatistics(term.field(), maxDoc, -1, -1, -1);termStats = new TermStatistics(term.bytes(), maxDoc, -1,term.bytes());}this.stats = similarity.computeWeight(boost, collectionStats, termStats);}

調用Similarity的computeWeight

BM25Similarity.java

@Overridepublic final SimWeight computeWeight(float boost, CollectionStatistics collectionStats, TermStatistics... termStats) {Explanation idf = termStats.length == 1 ? idfExplain(collectionStats, termStats[0]) : idfExplain(collectionStats, termStats);float avgdl = avgFieldLength(collectionStats);float[] oldCache = new float[256];float[] cache = new float[256];for (int i = 0; i < cache.length; i++) {oldCache[i] = k1 * ((1 - b) + b * OLD_LENGTH_TABLE[i] / avgdl);cache[i] = k1 * ((1 - b) + b * LENGTH_TABLE[i] / avgdl);}return new BM25Stats(collectionStats.field(), boost, idf, avgdl, oldCache, cache);}

8.2 查詢過程

? 完整過程如下:IndexSearcher調用search方法

protected void search(List<LeafReaderContext> leaves, Weight weight, Collector collector)throws IOException {// TODO: should we make this// threaded...? the Collector could be sync'd?// always use single thread:for (LeafReaderContext ctx : leaves) { // search each subreaderfinal LeafCollector leafCollector;try { leafCollector = collector.getLeafCollector(ctx);//1} catch (CollectionTerminatedException e) {// there is no doc of interest in this reader context// continue with the following leafcontinue;} BulkScorer scorer = weight.bulkScorer(ctx);//2if (scorer != null) {try {scorer.score(leafCollector, ctx.reader().getLiveDocs());//3} catch (CollectionTerminatedException e) {// collection was terminated prematurely// continue with the following leaf }}}}

?8.2.1 獲取Collector

TopScoreDocCollector.java#SimpleTopScoreDocCollector

@Overridepublic LeafCollector getLeafCollector(LeafReaderContext context)throws IOException {final int docBase = context.docBase;return new ScorerLeafCollector() {@Overridepublic void collect(int doc) throws IOException {float score = scorer.score(); /* Document document=context.reader().document(doc); */ // This collector cannot handle these scores:assert score != Float.NEGATIVE_INFINITY;assert !Float.isNaN(score);totalHits++;if (score <= pqTop.score) {// Since docs are returned in-order (i.e., increasing doc Id), a document// with equal score to pqTop.score cannot compete since HitQueue favors// documents with lower doc Ids. Therefore reject those docs too.return;}pqTop.doc = doc + docBase;pqTop.score = score;pqTop = pq.updateTop();}};}

8.2.2 調用打分socore

/*** Optional method, to return a {@link BulkScorer} to* score the query and send hits to a {@link Collector}.* Only queries that have a different top-level approach* need to override this; the default implementation* pulls a normal {@link Scorer} and iterates and* collects the resulting hits which are not marked as deleted.** @param context* the {@link org.apache.lucene.index.LeafReaderContext} for which to return the {@link Scorer}.** @return a {@link BulkScorer} which scores documents and* passes them to a collector.* @throws IOException if there is a low-level I/O error*/public BulkScorer bulkScorer(LeafReaderContext context) throws IOException {Scorer scorer = scorer(context);if (scorer == null) {// No docs matchreturn null;}// This impl always scores docs in order, so we can// ignore scoreDocsInOrder:return new DefaultBulkScorer(scorer);}/** Just wraps a Scorer and performs top scoring using it.* @lucene.internal */protected static class DefaultBulkScorer extends BulkScorer {private final Scorer scorer;private final DocIdSetIterator iterator;private final TwoPhaseIterator twoPhase;/** Sole constructor. */public DefaultBulkScorer(Scorer scorer) {if (scorer == null) {throw new NullPointerException();}this.scorer = scorer;this.iterator = scorer.iterator();this.twoPhase = scorer.twoPhaseIterator();}@Overridepublic long cost() {return iterator.cost();}@Overridepublic int score(LeafCollector collector, Bits acceptDocs, int min, int max) throws IOException {collector.setScorer(scorer);if (scorer.docID() == -1 && min == 0 && max == DocIdSetIterator.NO_MORE_DOCS) {scoreAll(collector, iterator, twoPhase, acceptDocs);return DocIdSetIterator.NO_MORE_DOCS;} else {int doc = scorer.docID();if (doc < min) {if (twoPhase == null) {doc = iterator.advance(min);} else {doc = twoPhase.approximation().advance(min);}}return scoreRange(collector, iterator, twoPhase, acceptDocs, doc, max);}}

調用scoreAll方法,遍歷Document,執行SimpleTopScoreDocCollector的collect方法,包含打分邏輯<見SimpleTopScoreDocCollector代碼>。

/** Specialized method to bulk-score all hits; we* separate this from {@link #scoreRange} to help out* hotspot.* See <a href="https://issues.apache.org/jira/browse/LUCENE-5487">LUCENE-5487</a> */static void scoreAll(LeafCollector collector, DocIdSetIterator iterator, TwoPhaseIterator twoPhase, Bits acceptDocs) throws IOException {if (twoPhase == null) {for (int doc = iterator.nextDoc(); doc != DocIdSetIterator.NO_MORE_DOCS; doc = iterator.nextDoc()) {if (acceptDocs == null || acceptDocs.get(doc)) {collector.collect(doc);}}} else {// The scorer has an approximation, so run the approximation first, then check acceptDocs, then confirmfinal DocIdSetIterator approximation = twoPhase.approximation();for (int doc = approximation.nextDoc(); doc != DocIdSetIterator.NO_MORE_DOCS; doc = approximation.nextDoc()) {if ((acceptDocs == null || acceptDocs.get(doc)) && twoPhase.matches()) {collector.collect(doc);}}}}

總結:

  梳理整理整個流程太累了。

?參考資料

【1】http://www.blogjava.net/hoojo/archive/2012/09/06/387140.html

【2】https://baike.baidu.com/item/jetty/370234?fr=aladdin

?

轉載于:https://www.cnblogs.com/davidwang456/p/10570935.html

《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀

總結

以上是生活随笔為你收集整理的solr查询工作原理深入内幕的全部內容,希望文章能夠幫你解決所遇到的問題。

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

91麻豆精品一区二区三区 | av天天澡天天爽天天av | 欧美激情第一页xxx 午夜性福利 | 国产精品不卡一区 | 天堂在线v | 麻豆视频免费在线播放 | 国产一级特黄电影 | 成年人免费在线观看网站 | 日韩免费一区二区在线观看 | 在线看一区二区 | 在线www色| 在线观看色视频 | 欧美精品一二三 | 在线韩国电影免费观影完整版 | 蜜臀aⅴ国产精品久久久国产 | 六月色婷| 奇米四色影狠狠爱7777 | 三级性生活视频 | 国产在线精品一区二区 | av电影久久 | 超碰国产97 | 国产精品伦一区二区三区视频 | 伊人久久精品久久亚洲一区 | 国产不卡在线视频 | 亚洲一区二区麻豆 | 国产男女免费完整视频 | 国产麻豆成人传媒免费观看 | av看片在线 | 成人午夜av电影 | 五月天色综合 | 久久伊99综合婷婷久久伊 | 四虎影视成人精品国库在线观看 | 国产免费一区二区三区网站免费 | a天堂最新版中文在线地址 久久99久久精品国产 | 国产91精品久久久久 | 精品女同一区二区三区在线观看 | www.天天成人国产电影 | 又黄又刺激的视频 | 久久国产精品视频 | 黄在线免费看 | 永久中文字幕 | 国产精品乱码久久 | 91在线porny国产在线看 | 成人av播放| 97人人人人| 天天操天天射天天插 | 成人精品电影 | 在线免费国产视频 | 美女福利视频一区二区 | 黄色三级免费 | 久久久久国产精品厨房 | 婷婷激情小说网 | 99精品国产高清在线观看 | 国产成人一区二区三区久久精品 | 午夜视频在线观看一区二区三区 | 特级西西444www高清大视频 | www.69xx| 在线视频91 | 一区二区三区四区五区在线视频 | 五月亚洲婷婷 | 天天操天天干天天 | 国产一卡久久电影永久 | 麻豆视频入口 | 免费a视频在线观看 | 97精品视频在线 | 一区二区三区四区久久 | 国产精品福利久久久 | 久久成人国产 | 欧美午夜久久 | 五月婷婷影院 | 久久99视频免费 | 中文字幕在线网 | 在线色亚洲 | 久操视频在线播放 | 精品美女久久久久久免费 | 日韩欧美视频在线 | 不卡中文字幕在线 | 98超碰在线观看 | 91精品视频一区 | 色射爱| 蜜桃av观看 | www.com黄| 国产精品女教师 | 中文字幕专区高清在线观看 | 色综合咪咪久久网 | 天天综合网 天天综合色 | 国产一卡在线 | av一级在线 | 国产99免费 | 国产精品 中文字幕 亚洲 欧美 | 中文字幕xxxx | 久久国产精品免费 | 夜夜躁日日躁狠狠久久88av | 久久噜噜少妇网站 | 国产精品久久久久久久久蜜臀 | 精品久久久999 | 久久国产精品久久w女人spa | 亚洲国产日韩欧美 | 日韩色高清 | 欧美日韩后 | 久免费视频 | 久久精选视频 | av丝袜在线 | 欧美精品少妇xxxxx喷水 | 欧美国产精品久久久久久免费 | 精品99视频 | 美女久久 | 国产精品免费久久久久久久久久中文 | 丝袜制服综合网 | 国产第一页福利影院 | 亚洲 欧洲av | 精品久久久久久久久久久久久久久久久久 | 色婷婷亚洲婷婷 | 久久高清| 中文字幕欧美日韩va免费视频 | 久久呀| 日韩久久久久久久 | 91在线91拍拍在线91 | 日韩www在线| 超级av在线| 久久久久在线 | 日韩一区二区三区高清在线观看 | 美女免费视频一区 | 国产精品久久久久久久久久ktv | 黄污视频网站大全 | 日韩最新av在线 | 国产成人精品一区一区一区 | 日韩色视频在线观看 | 精品欧美一区二区在线观看 | 亚洲国内精品 | 97超碰资源| 毛片网站观看 | 亚洲精品美女 | 日韩在线短视频 | 欧美另类xxxx | 久久九精品 | 免费在线观看黄网站 | 西西4444www大胆无视频 | 国产精品免费观看视频 | 国产高清不卡一区二区三区 | 在线一区二区三区 | 成人电影毛片 | 91av在线免费 | 456免费视频| 9在线观看免费高清完整版在线观看明 | 国产美腿白丝袜足在线av | 又黄又爽又色无遮挡免费 | 国内精品在线看 | 中文字字幕在线 | 久久在线电影 | 成人久久18免费网站 | 色偷偷88888欧美精品久久久 | 一区二区三区动漫 | 国模精品在线 | 欧美日韩视频免费看 | 中文字幕在线久一本久 | 亚洲97在线| 天天操天天怕 | av3级在线| 免费国产黄线在线观看视频 | 一本到视频在线观看 | 久久国产美女视频 | 亚洲精品色婷婷 | 国产精品久久久久久久av大片 | 97成人在线观看视频 | 最新成人在线 | 日本中文字幕网站 | 中文字幕精品一区二区三区电影 | 四虎在线永久免费观看 | 欧美一区二区免费在线观看 | 久久理论片 | 国产三级视频在线 | 亚洲涩涩色 | 91麻豆精品 | 综合国产在线观看 | 91视视频在线直接观看在线看网页在线看 | 亚洲免费观看视频 | 亚洲视频免费视频 | 国产精品综合在线观看 | 久久久久99精品国产片 | 激情电影影院 | 天天干天天干天天色 | 999国内精品永久免费视频 | 亚洲精品高清一区二区三区四区 | 三级黄色在线观看 | 久久久综合电影 | 成人观看视频 | 久久综合久久综合这里只有精品 | 在线观看视频国产一区 | 国产成人精品网站 | 免费在线观看黄网站 | 97在线精品国自产拍中文 | 成年人电影免费在线观看 | 久久久精品久久日韩一区综合 | 成人va天堂 | 日韩免费看片 | 久久人人爽人人爽 | 国产成人综合在线观看 | 久久久久久久久久伊人 | 日韩精品一区二区三区高清免费 | 欧美另类xxxxx | 狠狠操.com| 亚洲午夜久久久影院 | 日韩在线高清 | 亚洲免费国产视频 | 亚洲区精品视频 | 国产自在线观看 | 久久久久国产一区二区 | 亚洲精品久久久久久中文传媒 | 黄色精品一区二区 | 久精品视频在线 | 久久综合9988久久爱 | 99精品国产亚洲 | 中文字幕 国产精品 | 天天色官网| 成人h动漫在线看 | 成人国产网站 | a电影免费看 | 天天操夜夜爱 | 国产精品久久久久久久久久尿 | 最近中文字幕免费av | 97色在线观看 | 最近日本字幕mv免费观看在线 | 亚洲五月婷婷 | 国产精品久久久久久久久久了 | 亚洲精品 在线视频 | 精品成人久久 | 久久综合爱 | 99视频免费 | 三级午夜片 | 国产91精品久久久久久 | 国产精品一区二区av麻豆 | 天天操人人要 | 99精品在线 | 国产精品igao视频网入口 | 久草剧场 | 日本中文字幕电影在线免费观看 | 91视频a | 中文字幕资源在线 | 伊人伊成久久人综合网小说 | 蜜臀av性久久久久av蜜臀妖精 | 午夜视频一区二区 | 五月开心六月伊人色婷婷 | 日韩在线视频一区二区三区 | 免费成人黄色片 | 狠狠狠操 | 亚洲日韩中文字幕在线播放 | a一片一级 | 天天躁日日躁狠狠躁 | 奇米四色影狠狠爱7777 | 九月婷婷色| 亚洲国产99| 亚洲国产精品传媒在线观看 | 激情五月婷婷综合 | av千婊在线免费观看 | 安徽妇搡bbbb搡bbbb | 国产美女被啪进深处喷白浆视频 | av中文字幕网 | 日韩精品一区二区三区水蜜桃 | 国产视频精品久久 | 天天射天 | 欧美婷婷综合 | 国产999精品久久久久久绿帽 | 精品国产乱码久久久久久浪潮 | 美女免费视频一区 | 99中文视频在线 | www一起操| free. 性欧美.com | 91成人免费看 | 91在线免费看片 | 69精品久久 | 亚洲国产黄色片 | 973理论片235影院9 | 国产 日韩 在线 亚洲 字幕 中文 | 国产视频一区二区在线播放 | 麻豆国产精品一区二区三区 | 久久久国产一区二区三区 | 99在线观看视频网站 | 天天操夜操 | 免费看污在线观看 | 成人欧美一区二区三区在线观看 | 国产96av| 人人爱爱人人 | 国产不卡免费av | 亚洲精品国偷自产在线99热 | 久久久精品国产一区二区三区 | 特级西西444www大胆高清无视频 | 亚洲精品乱码久久久久久蜜桃91 | 亚洲精品日韩一区二区电影 | 中文字幕色婷婷在线视频 | 天天射综合网视频 | 香蕉视频久久久 | 亚洲 欧美 综合 在线 精品 | 国产成人精品久久久 | 麻豆91精品91久久久 | 96精品视频| 欧美精品乱码久久久久久按摩 | 在线国产一区二区 | 精品久久久久久久久久久久久久久久 | 亚洲欧洲xxxx | 亚洲天堂毛片 | 婷婷色在线观看 | 久久久国产高清 | 四虎在线免费视频 | 97精品国产97久久久久久春色 | 久久精品亚洲精品国产欧美 | 免费日韩 精品中文字幕视频在线 | 中文字幕在线资源 | 欧美天天综合网 | 蜜臀精品久久久久久蜜臀 | 黄色小说视频网站 | 精品国产成人在线影院 | 性色大片在线观看 | 日韩成人黄色av | 欧美性猛片 | 色综合久久悠悠 | 中文字幕字幕中文 | 中文av一区二区 | 国产主播大尺度精品福利免费 | 国产精品九九九 | 九九在线视频 | 天天操天天操天天操 | 免费色视频| 热久久99这里有精品 | 97精品国产97久久久久久久久久久久 | 久精品在线观看 | 全黄网站 | 国产亚洲精品bv在线观看 | 综合久久网站 | 久久成人精品 | 日一日操一操 | 精品福利在线 | 伊人国产视频 | 中文字幕免费国产精品 | 久久国产一区二区 | 在线免费观看不卡av | 色播六月天| 午夜婷婷综合 | 色午夜| 天天亚洲| 日韩理论影院 | 一级黄色大片在线观看 | 99久久精品无码一区二区毛片 | 夜夜夜影院 | 欧美另类69 | 国产精品第2页 | 日韩在线欧美在线 | 亚洲成人免费在线观看 | 美女久久99 | 久久成人一区二区 | 亚洲精品美女 | 九九久久久久久久久激情 | 久久久免费视频播放 | 亚洲精品国产精品国 | www.天天综合 | 天堂av网站| 天天干天天射天天爽 | 成人亚洲精品国产www | 亚洲精品无 | 亚洲高清色综合 | 久久96| 在线草| 国产精品黄色在线观看 | 手机在线黄色网址 | 国产精品黄网站在线观看 | 日本中文字幕系列 | 久久99在线视频 | 日韩在线观看一区二区三区 | 日韩精品高清不卡 | 2019av在线视频 | 色婷婷99 | 91色视频 | 精品久久久久久久久久久久久久久久久久 | 日韩在线欧美在线 | 久久久免费看视频 | 免费看的视频 | 久久精品专区 | 天堂av最新网址 | 国产免费观看久久黄 | 91丨九色丨91啦蝌蚪老版 | 一级性视频 | 欧美精品久久久久久久久老牛影院 | 亚洲一区二区高潮无套美女 | 亚洲电影网站 | 中文字幕在线观看完整版电影 | 国际精品久久久 | 国产91影院 | 欧美在线free | 91女神的呻吟细腰翘臀美女 | 欧美日韩99| 日韩欧美电影在线观看 | 91九色视频在线观看 | 99精品在线视频观看 | 日韩激情一二三区 | 最新在线你懂的 | 日韩激情视频在线 | 91探花在线视频 | 久久国产精品免费看 | 亚洲艳情| 99久久夜色精品国产亚洲 | 欧美a√在线 | 欧美在线你懂的 | 国语精品免费视频 | 亚洲精品一区二区三区新线路 | 手机av资源 | 国产少妇在线观看 | 日韩午夜视频在线观看 | 欧美另类重口 | 久久天天躁狠狠躁夜夜不卡公司 | 免费69视频| 中文字幕 国产精品 | 日韩在线理论 | 亚洲精品小区久久久久久 | 久久不卡免费视频 | 国产三级久久久 | 日韩视频在线不卡 | 久久激情影院 | 国产精品18久久久久久首页狼 | 在线免费高清视频 | 夜色在线资源 | 日韩精品视频在线免费观看 | 在线一二三区 | 日本系列中文字幕 | 婷婷五天天在线视频 | 亚洲黄色三级 | 亚洲国产最新 | 国产色视频网站 | 中文字幕日韩精品有码视频 | 黄色在线网站噜噜噜 | 久久国产热 | 天天色综合久久 | 免费视频成人 | 日本三级吹潮在线 | 日韩午夜剧场 | 手机看片中文字幕 | 99久久久久久国产精品 | 免费观看成人 | 一级电影免费在线观看 | 91视频 - 114av| 欧美视频日韩视频 | 友田真希av| 欧女人精69xxxxxx | 亚洲精品视频一二三 | 国产人成一区二区三区影院 | 狠狠操狠狠干天天操 | 国产精品久久久久久一区二区三区 | 亚洲精品免费在线播放 | 天天操天天能 | 亚洲国产精品影院 | 色婷婷综合久久久中文字幕 | 国产乱码精品一区二区蜜臀 | 日韩一级片网址 | 婷婷婷国产在线视频 | 欧美精品久久久久久久亚洲调教 | 国产精品自产拍在线观看蜜 | 色综合狠狠干 | 91精品老司机久久一区啪 | 在线观看中文 | 97在线观看免费视频 | 99久久久精品 | 国际精品网 | 日韩videos高潮hd | 色偷偷中文字幕 | 91精品在线视频观看 | 国产v在线| 亚洲国产精品视频 | 久久久亚洲麻豆日韩精品一区三区 | 五月开心婷婷网 | 免费看国产a | 亚洲综合色站 | 天天操天天射天天舔 | 亚洲免费精彩视频 | 99视 | 99久久精品免费看国产免费软件 | 国产日韩欧美自拍 | www.久久色 | 天天做天天干 | 俺要去色综合狠狠 | 欧美另类xxx | 久久婷五月 | 91黄色影视 | 久久精品久久久久电影 | 亚洲欧洲精品在线 | 天天摸天天舔 | 高清美女视频 | 91精品办公室少妇高潮对白 | 久久综合色一综合色88 | 久在线 | 中文字幕日韩伦理 | 日韩视频一区二区在线观看 | 亚洲成人免费在线观看 | www最近高清中文国语在线观看 | 亚洲在线视频观看 | 草莓视频在线观看免费观看 | 最新中文字幕在线播放 | 亚洲精品av中文字幕在线在线 | 久久国语露脸国产精品电影 | 国产精品刺激对白麻豆99 | 色婷婷一 | 久久天天躁夜夜躁狠狠85麻豆 | 亚洲一区精品二人人爽久久 | 婷婷电影网| 精品二区视频 | a级国产乱理伦片在线观看 亚洲3级 | 天天干夜夜夜 | 免费久久精品视频 | 五月综合色 | www.天天成人国产电影 | 亚洲精品1234区 | 波多野结衣动态图 | 99色在线视频 | 久久久蜜桃 | 久久久精品影视 | 免费观看www视频 | 久久久色 | 久久无码av一区二区三区电影网 | 午夜精品久久久久99热app | 中文字幕在线视频第一页 | 一级一片免费视频 | 久久五月情影视 | 国产视频在线观看一区二区 | 国产精品久久久久久久久久 | 在线激情小视频 | 日韩在线观看视频网站 | 久久久国产影视 | 日韩欧美高清 | 五月婷婷伊人网 | 欧美人交a欧美精品 | 在线观看av免费观看 | 丁香六月欧美 | av资源免费看 | 色综合久久久久综合体桃花网 | 久久精品在线 | 黄色免费网 | 天天干天天射天天操 | 久草视频在线看 | 国产男女无遮挡猛进猛出在线观看 | 日本一区二区不卡高清 | 久艹在线观看视频 | www在线免费观看 | 中文字幕一区二区三区视频 | 国产精品自拍av | 久久精品福利 | 99精品在线免费观看 | av电影免费 | 男女精品久久 | 天堂av免费 | 成人午夜黄色影院 | 久久精品99久久久久久 | 久久在线精品 | 成人在线免费观看网站 | 国产精品美女www爽爽爽视频 | www日韩在线 | 国产在线免费观看 | 日韩中文在线视频 | 精品一区二区久久久久久久网站 | a成人v在线 | 午夜久久福利影院 | 国产又粗又猛又黄又爽 | 久久成人免费电影 | 日韩视频免费在线观看 | 日韩中文字幕免费在线观看 | 精品久久一区 | 在线国产高清 | 精品国产诱惑 | 在线小视频| 九九综合在线 | 日韩av不卡在线 | 国产精品一区专区欧美日韩 | 99精品视频免费看 | 欧美一级欧美一级 | 久久久久久久久久久久久国产精品 | 久久精品国产一区二区三 | 国产成人精品在线观看 | 亚洲蜜桃av| 日韩欧美视频免费看 | 国产麻豆视频在线观看 | 青春草视频在线播放 | 亚洲国产中文字幕在线观看 | 久久avav| 综合久色| 狠狠狠狠狠狠操 | 91视频午夜 | 尤物九九久久国产精品的分类 | 色片网站在线观看 | 日韩中文字幕在线看 | 国产三级香港三韩国三级 | 久久精品五月 | 婷婷丁香国产 | 日韩免费视频网站 | 色伊人网| 91视频免费播放 | 国产小视频免费在线网址 | 久久国产欧美日韩精品 | 天天操天天操天天操天天操天天操天天操 | 成人久久影院 | 欧美性粗大hdvideo | 精品久久久久久久久久 | 久久伊人精品一区二区三区 | 香蕉视频亚洲 | 国内视频 | 中文字幕高清在线播放 | 久久久久亚洲精品成人网小说 | 五月天天色 | 国产日韩精品一区二区在线观看播放 | 在线观看日本韩国电影 | 在线观看av网| 国产特黄色片 | 国产成a人亚洲精v品在线观看 | 国产视频一二区 | 91精品一区二区在线观看 | 五月婷婷播播 | 国产高清在线a视频大全 | 日韩av免费一区二区 | 最近能播放的中文字幕 | 免费看三片 | 国产96视频 | 男女免费av | 久久久久久久免费观看 | 国产伦精品一区二区三区无广告 | av在线播放不卡 | 69av久久 | 久久国产经典视频 | 国产精品一区二区av日韩在线 | www.五月婷婷.com| 亚洲视频一级 | 手机av片 | 三级av在线 | 国产精品欧美久久久久三级 | 国产精品 中文字幕 亚洲 欧美 | 综合国产视频 | 午夜久久久久久久 | 狠狠色丁香婷综合久久 | 韩国精品在线 | 美女免费视频一区 | 国产做爰视频 | 99精品福利视频 | 日韩av成人免费看 | 国产91aaa| 美女视频黄免费 | 天天操综| 久久香蕉电影网 | 91桃色在线观看视频 | 99性视频| 日韩av一卡二卡三卡 | 精品主播网红福利资源观看 | 少妇bbb好爽 | 九九热免费在线观看 | 99久久久国产精品美女 | 久久精品91视频 | 国产精品毛片完整版 | 国产精品成人一区二区 | 成人av电影在线观看 | 999精品视频 | 日韩精品中文字幕有码 | 狠狠干夜夜 | 免费在线观看的av网站 | 国产成人精品久久亚洲高清不卡 | av黄色一级片 | 免费成人av在线看 | www.亚洲在线 | 成人中文字幕+乱码+中文字幕 | 欧美一级免费高清 | 综合视频在线 | 一区二区三区精品在线视频 | 伊人狠狠色丁香婷婷综合 | 激情视频亚洲 | 久久免费视频观看 | 五月天久久综合 | 国产精品久久久久久久妇 | 99精品在线免费视频 | 欧美日韩在线观看一区二区 | 日韩免费看的电影 | 国产亚洲亚洲 | 黄色小说在线免费观看 | 午夜久久久久 | 国产黄网站在线观看 | 日本高清dvd | 久久不卡国产精品一区二区 | 久久精品国产亚洲精品 | 亚洲最大色 | 日日摸日日添夜夜爽97 | 又黄又爽又色无遮挡免费 | 色多多污污 | 天堂资源在线观看视频 | 国产成人精品亚洲精品 | 日韩在线电影观看 | 日韩精品极品视频 | 久久久久久看片 | 在线观看视频福利 | 国产免费观看高清完整版 | 欧美亚洲成人xxx | 国产一区二区三区在线免费观看 | 久久艹综合| 操综合| 国产视频18 | 青青河边草免费直播 | 午夜久久久久久久久久久 | 久久综合九色综合97婷婷女人 | 精品国产伦一区二区三区观看说明 | 欧美在线一 | 久久精品电影 | 欧美精品午夜 | 国产黄av | 国产精品va在线播放 | 亚洲va在线va天堂 | 国产一区久久 | 日韩 在线观看 | 美女av免费看 | 激情综合五月 | 亚州国产视频 | 亚洲精品国产精品久久99 | 色婷婷视频在线观看 | www色av| 探花视频免费在线观看 | 成人免费视频网站在线观看 | 日韩精品一区二区三区免费观看视频 | 深夜福利视频在线观看 | 成年一级片 | 久久精久久精 | 久久夜色精品亚洲噜噜国4 午夜视频在线观看欧美 | 99久久久国产精品免费99 | 天天干天天拍天天操 | 久久国产精品免费一区 | 日韩精品中文字幕久久臀 | 婷婷av色综合 | 久久久久久久国产精品影院 | 四季av综合网站 | 国产精品资源在线观看 | 国产精在线 | 337p日本欧洲亚洲大胆裸体艺术 | 免费观看一区二区三区视频 | 伊人热| 视频成人| 中文字幕电影高清在线观看 | 丁香婷婷色综合亚洲电影 | 亚洲三级国产 | 国产精品日韩欧美 | 又粗又长又大又爽又黄少妇毛片 | 国模一区二区三区四区 | 狂野欧美激情性xxxx欧美 | av看片在线| 国产免费a| 一级a毛片高清视频 | 色偷偷人人澡久久超碰69 | 久久a热6 | 日日夜夜精品网站 | 江苏妇搡bbbb搡bbbb | 久久av免费电影 | 天天曰视频| 在线观看av片 | 夜夜天天干| 日韩欧美视频在线观看免费 | 成年人电影免费在线观看 | 日韩免费在线视频 | 天天综合成人网 | 国内精品久久久久久久久久 | 精品国产区在线 | 91资源在线视频 | 国内亚洲精品 | 久久精品欧美日韩精品 | www.干| 久久艹国产 | 亚洲国产成人精品在线观看 | 久久久久观看 | 97视频在线观看网址 | 精品国产一区二区三区久久久久久 | 亚洲黄色一级大片 | 99精品热视频只有精品10 | 91传媒视频在线观看 | 精品九九九 | 日韩免费视频观看 | 亚洲视频在线免费看 | 中文字幕在线一区二区三区 | 久久久亚洲麻豆日韩精品一区三区 | 久久久精品国产免费观看同学 | 激情综合网五月激情 | 97在线观看免费观看 | 久久欧美综合 | 日日夜夜操av | 亚洲精品国产精品国自产在线 | 激情一区二区三区欧美 | 欧美日韩国产一区二区三区在线观看 | 欧美日韩一区二区三区在线免费观看 | 狠狠干狠狠艹 | 亚洲国产美女精品久久久久∴ | 久草在线免费新视频 | 欧美 国产 视频 | 麻豆视频在线免费 | 欧美日韩国产精品一区 | 国产中文字幕在线观看 | 国产一区二区三区免费在线 | 精品国产成人av在线免 | 成年人黄色在线观看 | 国产精品免费视频一区二区 | av电影不卡在线 | 婷婷伊人综合 | 欧美成人手机版 | 美女视频黄,久久 | 欧美做受高潮1 | 伊人永久 | 成人动漫一区二区三区 | 免费在线观看污 | 欧美在线视频一区二区三区 | 免费高清在线观看成人 | 很黄很黄的网站免费的 | 亚州av成人 | 91精品久久久久久综合五月天 | av电影不卡 | 91在线看黄| 欧美日韩国产二区三区 | 五月亚洲综合 | 超碰人人超 | 九九久久婷婷 | 国产美女视频黄a视频免费 久久综合九色欧美综合狠狠 | 天堂av网址 | 久久香蕉国产精品麻豆粉嫩av | 国产精品视频永久免费播放 | 三级小视频在线观看 | 久久私人影院 | 在线韩国电影免费观影完整版 | 右手影院亚洲欧美 | 在线免费观看视频一区二区三区 | 黄色资源网站 | 99视频精品免费观看, | 色婷婷综合久久久 | 国产成人精品一区二区 | 欧美精品乱码久久久久久按摩 | 久久热亚洲 | 久热国产视频 | 一区二区三区免费在线 | 国产免费三级在线观看 | 98精品国产自产在线观看 | 久久久综合精品 | 国产日产精品一区二区三区四区 | 日日爱999| 久久久影院一区二区三区 | 天天看天天干天天操 | 天天干天天干天天 | 91视频在线免费下载 | 超碰在线色 | 99久精品视频 | 色婷婷福利视频 | 国产色资源 | 色播五月激情综合网 | 99精品小视频 | 麻豆精品视频在线观看免费 | 国产在线精品一区二区不卡了 | 国产中文字幕在线看 | 黄色片网站大全 | 456免费视频| 午夜免费在线观看 | 国产免费大片 | 国产精品高清在线 | 天天操天天干天天摸 | 欧美在线91| 国产精品久久一 | 日本精品一区二区三区在线观看 | 欧美污污网站 | 美女国内精品自产拍在线播放 | 天天色天天综合网 | 久久夜靖品| 国产不卡在线看 | 国产资源精品在线观看 | 久久手机精品视频 | 久草综合在线 | 国产一区在线看 | 超碰97人人爱 | 亚洲欧洲日韩在线观看 | 国产高清视频在线播放一区 | 国产精品婷婷午夜在线观看 | 在线韩国电影免费观影完整版 | 国产成人精品亚洲精品 | 国产免码va在线观看免费 | 免费视频a | 亚洲一区二区三区精品在线观看 | 色香蕉视频 | 中文字幕在线第一页 | 成人久久毛片 | 中文字幕文字幕一区二区 | 欧美伦理电影一区二区 | 欧美日韩首页 | 91黄色免费看 | 中文字幕在线观看播放 | 国产精品99精品久久免费 | 免费的国产精品 | 国产黄a三级三级三级三级三级 | 五月婷色 | 精品国产黄色片 | 中文有码在线 | 中文亚洲欧美日韩 | 久久99热这里只有精品国产 | 免费三级黄色片 | 国产精久久久久久妇女av | 久久久久久久久久免费视频 | 一级黄色片在线免费看 | 欧美久久久久久久久久 | 久久免费a | 色91在线视频 | 伊人久久五月天 | 欧美一区二视频在线免费观看 | 天天操天天干天天操天天干 | 一区二区三区四区五区在线 | 国产免费午夜 | 久久久久久久久久久久国产精品 | 91精品中文字幕 | 国产精品成人自拍 | 91视频在线观看免费 | 高清免费在线视频 | www.狠狠色.com | 日韩精品中文字幕一区二区 | 91禁看片| 欧美精品九九 | 国产精品网址在线观看 | 四虎在线观看精品视频 | 亚洲精品综合久久 | 国产精品久久久一区二区三区网站 | 国产精品久久久久久久久久尿 | 亚洲尺码电影av久久 | 91精品国产综合久久婷婷香蕉 | 99热这里只有精品在线观看 | av超碰免费在线 | 青青河边草免费直播 | 亚洲另类xxxx | 日本久久中文字幕 | 亚洲一区二区视频 | 亚洲男人天堂2018 | 免费黄色网止 | 伊人天天操 | 日韩v在线 | 97超碰国产精品女人人人爽 | 日产乱码一二三区别在线 | 亚洲女同ⅹxx女同tv | 国产一区二区久久久久 | www.狠狠色| 久久视了 | 中文字幕在线影视资源 | 国产精品久久久久久久久久免费 | 天天插天天爽 | 国产精品99页 | 日韩欧美久久 | 欧美性猛片| 97超碰人人澡人人爱 | 天天干天天做 | 国产中文字幕在线看 | 国产精品96久久久久久吹潮 | 黄色免费网战 | 91人网站 | 人人爽人人av | 国产精品99页| 国产又粗又猛又黄视频 | 在线观看国产www | 麻豆精品传媒视频 | 久久精品一二区 | 久久久性| 国产一区二区三区视频在线 | 最近最新中文字幕 | 一区二区三区四区精品视频 | 91超国产| 精品久久网站 | 狠狠色网 | 免费又黄又爽 | 国产精品久久久久婷婷 | 日韩精品一区电影 | 97国产情侣爱久久免费观看 | 亚洲精品视频免费在线 | 九九免费观看视频 | 国产精品成人在线观看 | 91亚洲精品乱码久久久久久蜜桃 | 午夜精品久久久久久久久久久 | 一级淫片在线观看 | 国产精品mv| 久久成年人视频 | 国际精品久久 | 日韩一二区在线 | 国产福利a | 国产在线精品国自产拍影院 | 精品一区二区三区四区在线 | 天天干,天天射,天天操,天天摸 | 精品夜夜嗨av一区二区三区 | 色视频在线看 | 国产在线观看免费观看 | 97天堂网 | 麻豆视频免费在线 | 西西人体4444www高清视频 | 日本成人免费在线观看 | 欧美成人h版在线观看 | 国产精品9999 | 狠狠躁夜夜躁人人爽视频 | 亚洲高清在线精品 | 91精品一区二区在线观看 | 久草免费在线观看 | 欧美久久久久久久久久久久久 | 国产一区二区免费在线观看 | 97精品国产97久久久久久粉红 | 在线播放国产精品 | 亚洲成av | 午夜久久影院 |