精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

ElasticSearch Java API只需十招,輕松掌握變專家!

開發 前端
Java API是Elasticsearch提供的官方客戶端,它允許Java開發者輕松地與Elasticsearch服務器進行交互。下面是一些關于如何使用Java API來調用Elasticsearch的常用方法。

環境:springboot2.4.12 + elasticsearch7.8.0

      Elasticsearch是一種開源的、分布式的、實時的搜索和分析引擎。它允許你存儲,搜索和分析大量數據,通常用于為網站或應用程序提供強大的搜索功能。

      Java API是Elasticsearch提供的官方客戶端,它允許Java開發者輕松地與Elasticsearch服務器進行交互。下面是一些關于如何使用Java API來調用Elasticsearch的常用方法。

注意:這里為了方便使用springboot項目(避免還要單獨引用其它包)

相關依賴

<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
  <groupId>org.elasticsearch</groupId>
  <artifactId>elasticsearch</artifactId>
  <version>7.8.0</version><!--$NO-MVN-MAN-VER$-->
</dependency>
<dependency>
  <groupId>org.elasticsearch.client</groupId>
  <artifactId>elasticsearch-rest-high-level-client</artifactId>
  <version>7.8.0</version><!--$NO-MVN-MAN-VER$-->
</dependency>

索引操作

高級別的Rest客戶端對象

private static RestHighLevelClient client = 
  new RestHighLevelClient(RestClient.builder(
    new HttpHost("localhost", 9200, "http"))) ;

1. 創建索引

public static void createIndex(String index) throws Exception {
  CreateIndexRequest request = new CreateIndexRequest(index) ;
  CreateIndexResponse response = client.indices().create(request, RequestOptions.DEFAULT) ;
  boolean ack = response.isAcknowledged() ;
  System.out.println("ack = " + ack) ;
}

2. 查看索引

public static void viewIndex(String index) throws Exception {
  GetIndexRequest request = new GetIndexRequest(index) ;
  GetIndexResponse response = client.indices().get(request, RequestOptions.DEFAULT) ;
  System.out.println("aliases: " + response.getAliases() + "\n"
    + "mappings: " + response.getMappings() + "\n"
    + "settings: " + response.getSettings()) ;
}

3. 刪除索引

public static void deleteIndex(String index) throws Exception {
  DeleteIndexRequest request = new DeleteIndexRequest(index) ;
  AcknowledgedResponse response = client.indices().delete(request, RequestOptions.DEFAULT) ;
  System.out.println("ack: " + response.isAcknowledged()) ;
}

文檔操作

private static RestHighLevelClient client = new RestHighLevelClient(RestClient.builder(new HttpHost("localhost", 9200, "http"))) ;

1. 創建文檔

public static void createDoc(String index, Users users) throws Exception {
  IndexRequest request = new IndexRequest() ;
  // 設置索引及唯一標識
  request.index(index).id("1001") ;
  ObjectMapper objectMapper = new ObjectMapper() ;
  String jsonString = objectMapper.writeValueAsString(users) ;
  // 添加文檔數據及數據格式
  request.source(jsonString, XContentType.JSON) ;
  IndexResponse response = client.index(request, RequestOptions.DEFAULT) ;
  System.out.println("_index: " + response.getIndex() + "\n"
      + "_id: " + response.getId() + "\n"
      + "_result: " + response.getResult()) ;
}

2. 更新文檔

public static void updateDoc(String index, String id) throws Exception {
  UpdateRequest request = new UpdateRequest() ;
  // 配置修改參數
  request.index(index).id(id) ;
  Map<String, Object> source = new HashMap<>() ;
  source.put("sex", "女") ;
  request.doc(source, XContentType.JSON) ;
  UpdateResponse response = client.update(request, RequestOptions.DEFAULT) ;
  System.out.println("_index: " + response.getIndex() + "\n"
      + "_id: " + response.getId() + "\n"
      + "_result: " + response.getResult()) ;
}

3. 查詢文檔

public static void viewDoc(String index, String id) throws Exception {
  GetRequest request = new GetRequest().index(index).id(id) ;
  GetResponse response = client.get(request, RequestOptions.DEFAULT) ;
  System.out.println("_index: " + response.getIndex() + "\n"
      + "_type: " + response.getType() + "\n"
      + "_id: " + response.getId() + "\n"
      + "source: " + response.getSourceAsString()) ;
}

4. 刪除文檔

public static void deleteIndex(String index, String id) throws Exception {
  DeleteRequest request = new DeleteRequest().index(index).id(id) ;
  DeleteResponse response = client.delete(request, RequestOptions.DEFAULT) ;
  System.out.println(response.toString()) ;
}

5. 批量操作

public static void batchOperator(String index) throws Exception {
  BulkRequest request = new BulkRequest() ;
  request.add(new IndexRequest().index(index).id("1002").source(XContentType.JSON, "name","老六", "sex", "男", "age", 20)) ;
  request.add(new IndexRequest().index(index).id("1003").source(XContentType.JSON, "name","外網", "sex", "女", "age", 10)) ;
  request.add(new IndexRequest().index(index).id("1004").source(XContentType.JSON, "name","莉莉", "sex", "女", "age", 35)) ;
  BulkResponse response = client.bulk(request, RequestOptions.DEFAULT) ;
  System.out.println("took: " + response.getTook() + "\n"
      + "items: " + new ObjectMapper().writeValueAsString(response.getItems())) ;
}

6. 高級查詢

public static void highSearch(String index) throws Exception {
  SearchRequest request = new SearchRequest().indices(index) ;
  SearchSourceBuilder builder = new SearchSourceBuilder() ;
  builder.query(QueryBuilders.matchAllQuery()) ;
  request.source(builder) ;
  SearchResponse response = client.search(request, RequestOptions.DEFAULT) ;
  SearchHits hits = response.getHits() ;
  System.out.println("took: " + response.getTook() + "\n"
      + "timeout: " + response.isTimedOut() + "\n"
      + "total: " + hits.getTotalHits() + "\n"
      + "MaxScore: " + hits.getMaxScore()) ;
  for (SearchHit hit : hits) {
    System.out.println(hit.getSourceAsString()) ;
  }
}

7. term精確查詢

public static void highTermSearch(String index) throws Exception {
  SearchRequest request = new SearchRequest().indices(index) ;
  SearchSourceBuilder builder = new SearchSourceBuilder() ;
  builder.query(QueryBuilders.termQuery("age", "20")) ;
  request.source(builder) ;
  SearchResponse response = client.search(request, RequestOptions.DEFAULT) ;
  SearchHits hits = response.getHits() ;
  System.out.println("took: " + response.getTook() + "\n"
      + "timeout: " + response.isTimedOut() + "\n"
      + "total: " + hits.getTotalHits() + "\n"
      + "MaxScore: " + hits.getMaxScore()) ;
  for (SearchHit hit : hits) {
    System.out.println(hit.getSourceAsString()) ;
  }
}

8. 分頁查詢

public static void highPagingSearch(String index) throws Exception {
  SearchRequest request = new SearchRequest().indices(index) ;
  SearchSourceBuilder builder = new SearchSourceBuilder() ;
  builder.query(QueryBuilders.matchAllQuery()) ;
  builder.from(1) ;
  builder.size(2) ;
  request.source(builder) ;
  SearchResponse response = client.search(request, RequestOptions.DEFAULT) ;
  SearchHits hits = response.getHits() ;
  System.out.println("took: " + response.getTook() + "\n"
      + "timeout: " + response.isTimedOut() + "\n"
      + "total: " + hits.getTotalHits() + "\n"
      + "MaxScore: " + hits.getMaxScore()) ;
  for (SearchHit hit : hits) {
    System.out.println(hit.getSourceAsString()) ;
  }
}

9. 分頁&排序查詢

public static void highPagingAndSortSearch(String index) throws Exception {
  SearchRequest request = new SearchRequest().indices(index) ;
  SearchSourceBuilder builder = new SearchSourceBuilder() ;
  builder.query(QueryBuilders.matchAllQuery()) ;
  builder.from(0) ;
  builder.size(20) ;
  builder.sort("age", SortOrder.ASC) ;
  request.source(builder) ;
  SearchResponse response = client.search(request, RequestOptions.DEFAULT) ;
  SearchHits hits = response.getHits() ;
  System.out.println("took: " + response.getTook() + "\n"
      + "timeout: " + response.isTimedOut() + "\n"
      + "total: " + hits.getTotalHits() + "\n"
      + "MaxScore: " + hits.getMaxScore()) ;
  for (SearchHit hit : hits) {
    System.out.println(hit.getSourceAsString()) ;
  }
}

10. 分頁&排序&過濾字段查詢

public static void highPagingAndSortAndFilterFieldSearch(String index) throws Exception {
  SearchRequest request = new SearchRequest().indices(index) ;
  SearchSourceBuilder builder = new SearchSourceBuilder() ;
  builder.query(QueryBuilders.matchAllQuery()) ;
  builder.from(0) ;
  builder.size(20) ;
  builder.sort("age", SortOrder.ASC) ;
  String[] includes = {"name"} ;
  String[] excludes = {} ;
  builder.fetchSource(includes, excludes) ;
  request.source(builder) ;
  SearchResponse response = client.search(request, RequestOptions.DEFAULT) ;
  SearchHits hits = response.getHits() ;
  System.out.println("took: " + response.getTook() + "\n"
      + "timeout: " + response.isTimedOut() + "\n"
      + "total: " + hits.getTotalHits() + "\n"
      + "MaxScore: " + hits.getMaxScore()) ;
  for (SearchHit hit : hits) {
    System.out.println(hit.getSourceAsString()) ;
  }
}

11. 范圍查詢

public static void highBoolSearch(String index) throws Exception {
  SearchRequest request = new SearchRequest().indices(index) ;
  SearchSourceBuilder builder = new SearchSourceBuilder() ;
  builder.query(QueryBuilders.matchAllQuery()) ;
  builder.from(0) ;
  builder.size(20) ;
  builder.sort("age", SortOrder.ASC) ;
  RangeQueryBuilder rangeBuilder = QueryBuilders.rangeQuery("age");
  rangeBuilder.gte(15) ;
  rangeBuilder.lte(30) ;
  builder.query(rangeBuilder) ;
  request.source(builder) ;
  SearchResponse response = client.search(request, RequestOptions.DEFAULT) ;
  SearchHits hits = response.getHits() ;
  System.out.println("took: " + response.getTook() + "\n"
      + "timeout: " + response.isTimedOut() + "\n"
      + "total: " + hits.getTotalHits() + "\n"
      + "MaxScore: " + hits.getMaxScore()) ;
  for (SearchHit hit : hits) {
    System.out.println(hit.getSourceAsString()) ;
  }
}

12. 高亮查詢

public static void highHighLightSearch(String index) throws Exception {
  SearchRequest request = new SearchRequest().indices(index) ;
  SearchSourceBuilder builder = new SearchSourceBuilder() ;
  builder.query(QueryBuilders.matchQuery("name", "莉莉")) ;
  HighlightBuilder highLightBuilder = new HighlightBuilder() ;
  highLightBuilder.preTags("<font color='red'>") ;
  highLightBuilder.postTags("</font>") ;
  highLightBuilder.field("name") ;
  builder.highlighter(highLightBuilder) ;
  request.source(builder) ;
  SearchResponse response = client.search(request, RequestOptions.DEFAULT) ;
  SearchHits hits = response.getHits() ;
  System.out.println("took: " + response.getTook() + "\n"
      + "timeout: " + response.isTimedOut() + "\n"
      + "total: " + hits.getTotalHits() + "\n"
      + "MaxScore: " + hits.getMaxScore()) ;
  for (SearchHit hit : hits) {
    System.out.println(hit.getSourceAsString() + "\n"
        + "highlight: " + hit.getHighlightFields()) ;
  }
}

13. 聚合查詢

public static void highAggsSearch(String index) throws Exception {
  SearchRequest request = new SearchRequest().indices(index) ;
  SearchSourceBuilder builder = new SearchSourceBuilder() ;
  builder.aggregation(AggregationBuilders.avg("avg_age").field("age")) ;
  request.source(builder) ;
  SearchResponse response = client.search(request, RequestOptions.DEFAULT) ;
  SearchHits hits = response.getHits() ;
  System.out.println("took: " + response.getTook() + "\n"
      + "timeout: " + response.isTimedOut() + "\n"
      + "total: " + hits.getTotalHits() + "\n"
      + "MaxScore: " + hits.getMaxScore()) ;
  for (SearchHit hit : hits) {
    System.out.println(hit.getSourceAsString())  ;
  }
  System.out.println(((ParsedAvg)response.getAggregations().iterator().next()).getValue()) ;
}

14. 分組統計

public static void highGroupSearch(String index) throws Exception {
  SearchRequest request = new SearchRequest().indices(index) ;
  SearchSourceBuilder builder = new SearchSourceBuilder() ;
  builder.aggregation(AggregationBuilders.terms("age_groupby").field("age")) ;
  request.source(builder) ;
  SearchResponse response = client.search(request, RequestOptions.DEFAULT) ;
  SearchHits hits = response.getHits() ;
  System.out.println("took: " + response.getTook() + "\n"
      + "timeout: " + response.isTimedOut() + "\n"
      + "total: " + hits.getTotalHits() + "\n"
      + "MaxScore: " + hits.getMaxScore()) ;
  for (SearchHit hit : hits) {
    System.out.println(hit.getSourceAsString()) ;
  }
  System.out.println(response) ;
}

完畢?。。?/p>

責任編輯:武曉燕 來源: Spring全家桶實戰案例源碼
相關推薦

2023-10-04 17:31:21

項目部署軟件包

2019-11-26 09:47:50

代碼開發工具

2016-08-23 00:15:28

2019-02-15 09:00:00

機器學習API人工智能

2010-06-12 13:49:16

學習UML

2010-01-06 17:51:26

Linux關機命令

2010-09-16 11:07:28

裁員

2023-09-26 22:12:13

數據倉庫Doris

2025-10-29 02:11:00

架構索引優化

2011-07-05 13:08:22

虛擬化網絡虛擬化VEPA

2010-07-28 10:28:53

Facebook

2009-01-18 15:14:00

數據倉庫開發OLTP

2009-12-16 14:26:19

Linux VMwar

2014-10-30 16:34:28

編程技術算法

2010-01-04 17:35:32

Silverlight

2014-10-30 16:41:14

編程技術算法

2009-11-12 10:32:47

ADO.NET技術

2024-06-12 00:00:01

Java函數式接口

2023-09-13 08:00:00

MLOps數據科學

2009-10-12 13:18:55

RHEL 4內核
點贊
收藏

51CTO技術棧公眾號

中文字幕伦理免费在线视频| 波多野结衣毛片| 99视频国产精品免费观看a| 亚洲电影在线一区二区三区| 精品久久一区二区三区| 欧美a v在线播放| 91短视频版在线观看www免费| 久久国产成人午夜av影院| 欧美日本啪啪无遮挡网站| asian性开放少妇pics| 成人精品视频在线观看| 26uuu另类欧美亚洲曰本| 国产精品视频地址| 久久偷拍免费视频| 3d动漫一区二区三区在线观看| 亚洲成人自拍偷拍| 亚洲精品乱码久久久久久蜜桃91| 亚洲免费视频网| 蜜臀av性久久久久蜜臀aⅴ流畅| 欧美激情精品久久久久久| 精品人妻一区二区三区蜜桃视频| 2023国产精华国产精品| 欧美三级乱人伦电影| 2019日韩中文字幕mv| www香蕉视频| 久久久久久久久久久久久久久久久久| 亚洲国产精品网站| 亚洲五月激情网| 欧美成人app| 欧美日韩国产页| 波多野结衣与黑人| 黄色在线免费网站| 国产农村妇女毛片精品久久麻豆| 国产欧美日韩综合一区在线观看| 国产男男gay网站| 蜜臀国产一区二区三区在线播放| 91精品国产色综合| 久久久久久天堂| www国产精品| 91麻豆精品国产91久久久久久 | 成熟妇人a片免费看网站| 久久免费影院| 在线免费观看日本欧美| 欧美污视频网站| 欧美aa免费在线| 午夜精品视频在线观看| 国产伦精品一区二区三毛| 国产一区二区女内射| 日本午夜精品一区二区三区电影| 欧美一级成年大片在线观看| 久久久久久久久久91| 亚洲v在线看| 久久久91精品国产| 永久免费看片直接| 中文视频一区| 欧美国产日韩一区| 干日本少妇首页| 日本h片在线观看| 亚洲免费av观看| 99久久精品无码一区二区毛片 | 色豆豆成人网| 91成人在线免费观看| 黄色一级一级片| 久久天堂av| 欧美美女黄视频| 久久久久久无码精品人妻一区二区| 精品视频一区二区三区在线观看| 欧美一区二区三区系列电影| 欧美熟妇另类久久久久久多毛| 日韩精品中文字幕一区二区| 日韩欧美一级二级三级| 免费看国产一级片| 黄色在线免费观看网站| 欧美午夜电影在线| 手机视频在线观看| av资源新版天堂在线| 黄网动漫久久久| 欧在线一二三四区| 外国成人毛片| 亚洲成色999久久网站| 国精产品一区一区三区免费视频| 精品国产一区二区三区av片| 日韩在线www| 久久久久成人精品无码| 一本色道久久| 国产日韩在线精品av| 亚洲第一成人av| 97精品国产97久久久久久久久久久久 | 91香蕉视频黄| 天堂va久久久噜噜噜久久va| 成人免费高清| 久久久欧美精品sm网站| 亚洲欧美一区二区原创| 欧美另类tv| 在线观看欧美黄色| 人妻av一区二区三区| 欧美日韩激情| 久久久久久这里只有精品| 精品久久久久久久久久久久久久久久久久| 寂寞少妇一区二区三区| 精品综合在线| а√中文在线8| 色婷婷综合五月| 国产伦理在线观看| 成人在线视频免费观看| 国产+成+人+亚洲欧洲| jizz国产在线| 99re8在线精品视频免费播放| 一区二区三区欧美在线| 天堂av中文在线观看| 91精品国产91久久综合桃花| 一级做a爰片毛片| 欧美精品一卡| 成人网中文字幕| 久久伊伊香蕉| 亚洲成人一区二区在线观看| 在线观看国产福利| 国产精品密蕾丝视频下载| 欧美激情国产高清| 精品国产av一区二区三区| 欧美激情一区在线观看| 国产av人人夜夜澡人人爽麻豆| 大胆国模一区二区三区| 在线观看日韩av| 国内自拍视频在线播放| 成人黄色大片在线观看| 午夜啪啪福利视频| 久久影视精品| 正在播放欧美视频| 69亚洲精品久久久蜜桃小说| 不卡av在线网| 国产免费内射又粗又爽密桃视频| 亚洲电影二区| 亚洲毛片在线看| 精品欧美一区二区三区免费观看| 国产自产高清不卡| 亚洲电影网站| 久久精品97| 国产一区av在线| 欧美一区免费看| 国产日韩成人精品| 性生交免费视频| 国产一区二区三区探花 | 天天综合五月天| 亚洲欧洲日韩精品在线| 久久精品99久久久久久久久| 中文字幕+乱码+中文乱码91| 国产视频一区不卡| 男人搞女人网站| 大色综合视频网站在线播放| 国产精品久久久精品| 成人免费高清在线播放| 在线免费视频一区二区| 成人性视频免费看| 黄色日韩在线| 国产精品成人观看视频免费| 午夜激情在线视频| 精品国产乱码久久久久久虫虫漫画| 日本精品一二三区| 亚洲高清久久| 国产精品免费视频xxxx| 成人三级黄色免费网站| 欧美日韩三级在线| 极品久久久久久| 成人小视频免费观看| 国产黄色片免费在线观看| 韩国女主播一区二区三区| 久久免费精品日本久久中文字幕| 神宫寺奈绪一区二区三区| 欧美日韩午夜剧场| 成人在线观看免费高清| 韩国毛片一区二区三区| 欧美一区二区三区综合| 老牛国内精品亚洲成av人片| www国产精品视频| 国产特黄一级片| 亚洲国产视频在线| 精品人妻一区二区三区日产乱码卜| 亚洲欧美成人综合| 成人在线免费网站| 中文字幕成在线观看| 这里只有精品丝袜| 黄色av网站免费在线观看| 日韩欧美在线播放| 性色av无码久久一区二区三区| 不卡免费追剧大全电视剧网站| 黄色av免费在线播放| 一本一本久久a久久综合精品| 国产精品日韩欧美一区二区三区| 桃花岛tv亚洲品质| 色综合色综合网色综合| 狠狠色伊人亚洲综合网站l| 欧美日韩精品电影| 成年免费在线观看| 中文字幕日韩av资源站| 日本69式三人交| 久久99精品久久只有精品| 人妻少妇精品无码专区二区| 欧美日韩激情在线一区二区三区| 国产精品播放| 成人网av.com/| 国产91精品网站| 麻豆蜜桃在线| 日韩视频第一页| 国产高清免费在线播放| 亚洲黄色av网站| 国产福利免费视频| 欧美日韩在线一区二区| 99视频在线看| 一区二区视频在线| 青青操在线播放| 99久久99久久免费精品蜜臀| 亚洲天堂伊人网| 日韩在线播放一区二区| 欧美系列一区| 成人爽a毛片免费啪啪红桃视频| 国产激情久久久| 激情黄产视频在线免费观看| 久久久国产精品一区| 国产精品一区二区婷婷| 亚洲黄页视频免费观看| h狠狠躁死你h高h| 欧美精品日日鲁夜夜添| 懂色av中文字幕| 日韩欧美国产中文字幕| 日本一区二区免费在线观看| 亚洲男人都懂的| 日本女人性生活视频| 久久久精品综合| 美女又爽又黄视频毛茸茸| 白白色 亚洲乱淫| xxxwww国产| 成人天堂资源www在线| 无码人妻一区二区三区在线视频| 久久国内精品自在自线400部| 日av中文字幕| 视频一区在线播放| 国产精品无码av无码| 快she精品国产999| 久久综合久久色| 久久久久综合| 欧美性猛交久久久乱大交小说| 性色一区二区三区| 亚洲人成色77777| 老司机精品视频网站| 日日摸天天爽天天爽视频| 亚洲永久在线| 91在线视频观看免费| 日本视频一区二区三区| 日韩av片网站| 久久99精品久久久久久国产越南 | 日韩一区二区三区免费视频| 日韩av片免费在线观看| 在线免费三级电影网站| 欧美在线一级视频| 久草资源在线| 久久九九热免费视频| 亚洲综合影视| 992tv成人免费影院| 天堂中文最新版在线中文| 欧美又大又粗又长| 成人精品电影在线| 成人国产精品久久久| 欧美成年网站| 国产精品一区在线播放| 婷婷综合一区| 亚洲乱码一区二区三区| 欧美一区二区三区另类 | 天堂影院一区二区| 不卡的av中文字幕| 国产精品一卡二卡| 无遮挡又爽又刺激的视频| 日韩成人dvd| 日本r级电影在线观看| 成人激情免费网站| 精品人妻无码一区二区三区| 国产精品全国免费观看高清| 老熟妇高潮一区二区三区| 亚洲国产一区视频| 精品视频一二三区| 91.成人天堂一区| 人人妻人人澡人人爽精品日本| 亚洲欧美日韩天堂一区二区| eeuss影院在线播放| 欧美老少做受xxxx高潮| 日韩毛片免费观看| 91国产丝袜在线放| 亚洲日本中文| 国产精品一区在线观看| 日本电影一区二区| 久青草视频在线播放| 日韩在线播放一区二区| 国产免费无码一区二区| 中文字幕精品一区二区三区精品| 久草视频中文在线| 亚洲精品久久7777| 成人免费毛片视频| 精品卡一卡二卡三卡四在线| 成年人在线看| 26uuu国产精品视频| 在线视频成人| 欧美一区国产一区| 亚洲福利国产| 国产免费中文字幕| 久久人人超碰精品| av小说在线观看| 亚洲精品一二三| 免费黄色片视频| 亚洲国产精品久久久| 久久综合之合合综合久久| 日韩av电影手机在线观看| 视频一区日韩| 一区二区视频在线播放| 乱码第一页成人| 日本不卡视频一区| 成人欧美一区二区三区小说| 亚洲欧美综合另类| 欧美精品一区二区三区久久久 | 美女亚洲一区| 秋霞毛片久久久久久久久| 最新国产精品| 中文字幕1234区| 亚洲欧洲99久久| 在线免费观看高清视频| 亚洲深夜福利在线| √新版天堂资源在线资源| 91大神在线播放精品| 91午夜精品| www.国产二区| 国产剧情在线观看一区二区| 国内毛片毛片毛片毛片毛片| 在线视频欧美精品| 黄色av网站在线免费观看| 欧美一级大片在线观看| 久久视频在线观看| 99热久久这里只有精品| 国产河南妇女毛片精品久久久| 亚洲少妇一区二区三区| 亚洲乱码一区二区三区在线观看| 亚洲天堂久久久久| 日韩在线免费高清视频| 国产情侣一区二区三区| 亚洲精品一区二区三区四区五区 | 偷拍25位美女撒尿视频在线观看| 日韩av在线高清| 91禁在线看| 国产青春久久久国产毛片| 国产精品久久| 国产婷婷在线观看| 五月婷婷综合激情| 深夜福利在线看| 国产www精品| 成人亚洲一区| 日本77777| 亚洲影院久久精品| 午夜18视频在线观看| 国产a∨精品一区二区三区不卡| 国产麻豆精品久久| 第四色婷婷基地| 亚洲精品大片www| 精品国产亚洲av麻豆| 亚州成人av在线| 伊人久久大香线蕉无限次| 亚洲性生活网站| 亚洲欧美色综合| 你懂的网站在线| 国产suv精品一区二区三区88区| 成人看的视频| 中文字幕乱码在线人视频| 亚洲成a天堂v人片| 国产女主播在线写真| 成人免费视频网| 亚洲激情自拍| 97人妻人人揉人人躁人人| 欧美日韩国产片| 大黄网站在线观看| 日韩久久久久久久| 国产馆精品极品| 日日摸天天添天天添破| 久久精品视频99| 台湾佬综合网| 婷婷激情综合五月天| 婷婷综合在线观看| 一本一道波多野毛片中文在线| 97久草视频| 视频精品一区二区| 中文字幕在线观看成人| 亚洲毛片在线观看.| 久久国际精品| av动漫免费看| 一区二区免费看| 国产精品二线| 国产伦一区二区三区色一情| 老**午夜毛片一区二区三区| 国产黄色的视频| 亚洲人成电影在线| 国产成人精品福利| 91视频这里只有精品| 欧美日韩视频在线| 国产白丝在线观看|