精品欧美一区二区三区在线观看 _久久久久国色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技術棧公眾號

蜜桃一区二区三区| 黄色av免费在线观看| 午夜精品毛片| 精品免费国产二区三区| 福利视频免费在线观看| 四虎影视2018在线播放alocalhost| 亚洲欧美日韩精品一区二区 | 黄色一级在线视频| 狠狠v欧美ⅴ日韩v亚洲v大胸| 狠狠色丁香婷婷综合久久片| 综合久久久久综合| 国产精品乱码一区二三区小蝌蚪| 日本一区二区三区四区视频| 日本美女bbw| 影音先锋欧美激情| 色妹子一区二区| 粉嫩av一区二区三区天美传媒| 成人乱码一区二区三区| 日韩电影一区二区三区四区| 久久久久久久激情视频| 亚洲一二三精品| 国产劲爆久久| 91精品婷婷国产综合久久性色| 男人天堂1024| 污网站在线免费看| 国产欧美日本一区视频| 国产日韩欧美亚洲一区| 国产精品乱码一区二区视频| 国内精品美女在线观看| 在线成人激情黄色| 国产精品久久久久久在线观看| 欧美啪啪网站| 欧美午夜激情视频| 成人国产在线看| 三级外国片在线观看视频| heyzo一本久久综合| 成人激情免费在线| 精品一区二三区| 国产欧美91| 欧美激情一区二区久久久| 亚洲图片第一页| 尤物网站在线观看| 婷婷色在线播放| 国产精品网站导航| 欧美一区二区综合| 五月婷婷六月丁香| av成人老司机| 成人片在线免费看| 国产后入清纯学生妹| 另类欧美日韩国产在线| 国产经典一区二区| av片免费观看| 久久精品一本| 热99精品只有里视频精品| 国产无码精品在线观看| 国产精品豆花视频| 欧美xxxx做受欧美| 私库av在线播放| 午夜天堂精品久久久久| 插插插亚洲综合网| av激情在线观看| 天天操夜夜操国产精品| 久久精品国产综合| 欧美手机在线观看| 欧美淫片网站| 欧美精品电影在线| 97人人澡人人爽人人模亚洲| 亚洲激情一区| 欧美亚洲国产日韩2020| 国产精品国产三级国产专区52| 国产精品久久久一区二区| 97香蕉超级碰碰久久免费软件 | 能看毛片的网站| 视频一区中文字幕精品| 精品美女一区二区| 波多野结衣视频播放| 亚洲免费专区| 中文字幕综合一区| 日本一级二级视频| 激情婷婷欧美| 日韩av黄色在线观看| 国产天堂第一区| 精品在线一区二区三区| 成人av片网址| 九九九伊在人线综合| 亚洲国产精品黑人久久久 | 天天爽人人爽夜夜爽| 超级碰碰不卡在线视频| 婷婷久久综合九色国产成人| 国产男女无遮挡| 99热播精品免费| 欧美一区二区视频网站| 日本黄色录像片| 人人狠狠综合久久亚洲婷婷| 久久成人精品电影| 日本三级小视频| 日韩电影在线观看一区| 亚洲mm色国产网站| 色吊丝在线永久观看最新版本| 中文字幕巨乱亚洲| 久草免费福利在线| 日韩中文影院| 欧美成人r级一区二区三区| 97人妻天天摸天天爽天天| 日韩大片在线| 97国产在线视频| 一区二区三区在线免费观看视频| 国产成人精品网址| 午夜精品电影在线观看| 色呦呦网站在线观看| 色播五月激情综合网| 国产精品日日摸夜夜爽| 精品国产一区二区三区小蝌蚪| 欧美精品一区三区| 中文字幕av影视| 成人国产一区二区三区精品| 亚洲精品人成| 精品极品在线| 日韩欧美在线影院| 天堂网av2018| 久久九九国产| 国产九色精品| 中文字幕伦理免费在线视频 | 欧美国产日韩精品| 中文字幕网址在线| 久久久www免费人成精品| 久久久久久久香蕉| 欧美成人高清视频在线观看| 亚洲国产欧美在线成人app| 中国毛片直接看| 免费欧美在线视频| 欧美黑人3p| 国产盗摄——sm在线视频| 91精品欧美久久久久久动漫| 摸摸摸bbb毛毛毛片| 99国产精品| 国产精品大全| 天天色天天射天天综合网| 欧美日韩激情一区| 91狠狠综合久久久久久| 玖玖在线精品| 欧美黑人xxxxx| 竹内纱里奈兽皇系列在线观看| 精品久久久久一区| 久久综合久久鬼| 国产jizzjizz一区二区| 桥本有菜av在线| 四虎影视成人精品国库在线观看| 亚洲香蕉成视频在线观看| 中文字幕一区二区人妻电影| 99国产精品久久久久久久久久久| 日韩专区第三页| 91国内精品| 色综合久久悠悠| 精品人妻一区二区三区换脸明星| 亚洲欧美激情插 | 99国产精品久久久久久久久久| 国产乱淫av片杨贵妃| 在线精品国产亚洲| 国色天香2019中文字幕在线观看| 亚洲av无码片一区二区三区| 亚洲综合一区二区| 国产性生活毛片| 亚洲每日更新| 欧美日韩一区二 | a视频在线观看免费| 91精品国产91综合久久蜜臀| 亚洲欧美小视频| 国产成人精品亚洲午夜麻豆| 国产主播自拍av| 亚洲精品推荐| 国产精品毛片a∨一区二区三区|国| av天在线观看| 欧美夫妻性生活| www.99re7| 波波电影院一区二区三区| 日批视频在线免费看| 精品久久综合| 亚洲一区二区免费在线| wwwwxxxx在线观看| 亚洲一区二区黄| 国产精品欧美亚洲| 亚洲成a人在线观看| 亚洲av无码国产精品久久| 日本在线播放一区二区三区| 国产精品波多野结衣| jizz性欧美2| 日本亚洲欧美三级| av在线网址观看| 日韩激情在线视频| 一级全黄裸体免费视频| 亚洲图片一区二区| 午夜精产品一区二区在线观看的| 经典三级在线一区| 国产69精品久久久久999小说| 国产精品日韩精品中文字幕| 亚洲综合精品一区二区| 国产高清不卡| 美乳少妇欧美精品| 天堂91在线| 91精品国产综合久久精品性色| 一区二区三区视频免费看| 国产精品九色蝌蚪自拍| 女同性恋一区二区三区| 久久99久久久久久久久久久| 青青草视频在线免费播放| 日韩中文在线电影| 精品中文字幕一区| 91视频亚洲| 日韩av手机在线看| 不卡av免费观看| 日韩在线不卡视频| 欧美女优在线| 精品久久久网站| 国产精品久久影视| 在线观看亚洲精品视频| 久久精品性爱视频| 最近日韩中文字幕| 天天舔天天操天天干| av一区二区三区| 国产黑丝在线视频| 久久精品久久99精品久久| 成年人观看网站| 激情欧美亚洲| 国内外成人激情免费视频| 精品视频97| 欧美人与物videos另类| 爱高潮www亚洲精品| 96国产粉嫩美女| 国产精品久久久久77777丨| 日本人成精品视频在线| а√天堂中文资源在线bt| 欧美另类高清videos| 婷婷免费在线视频| 尤物九九久久国产精品的分类| 手机看片一区二区| 精品国产青草久久久久福利| av在线资源观看| 3d动漫精品啪啪一区二区竹菊| 波多野结衣家庭主妇| 色综合久久久久网| 中文字幕激情小说| 激情久久av一区av二区av三区| 久久久91视频| 一区二区三区波多野结衣在线观看| 国产又色又爽又高潮免费| 国产欧美精品一区| 四季av中文字幕| 国产精品久久久久久久岛一牛影视| 人妻少妇无码精品视频区| 久久精品人人做| 亚洲一二三四视频| 中文字幕一区不卡| 我要看黄色一级片| 亚洲一区视频在线| 日韩免费黄色片| 日韩欧美有码在线| 丰满人妻一区二区三区四区| 欧美性做爰猛烈叫床潮| 亚洲影视一区二区| 日韩一级在线观看| 欧美一级特黄aaaaaa大片在线观看| 欧美精品一区二区三区久久久| 熟妇高潮一区二区三区| 精品亚洲国产成av人片传媒 | 色偷偷88888欧美精品久久久| 日本三级在线视频| 欧美丰满少妇xxxxx做受| 91资源在线观看| 国产成人精品日本亚洲专区61| 成人午夜sm精品久久久久久久| 成人黄色在线播放| 国产精品自在| 日韩jizzz| 国产一区日韩欧美| 久久国产亚洲精品无码| 免费成人在线观看视频| 爱情岛论坛亚洲自拍| gogo大胆日本视频一区| 久久久久久久久久久久| 1024亚洲合集| 日本一本高清视频| 色噜噜狠狠色综合中国| 一本到在线视频| 日韩一级二级三级| 欧洲毛片在线| 精品国产区一区二区三区在线观看| av在线电影院| 欧美日本啪啪无遮挡网站| 都市激情国产精品| 国产精品主播视频| 成人免费在线电影网| 欧美国产综合视频| 欧美日韩99| jizzjizzxxxx| 国产精品一品视频| 日本aaa视频| 日韩美女精品在线| 国产精品视频免费播放| 欧美区一区二区三区| 亚洲乱熟女一区二区| 伊人伊人伊人久久| 欧美人与禽性xxxxx杂性| 欧美激情按摩在线| 国产日本久久| 国产精品制服诱惑| 亚洲欧美色图| 免费在线观看毛片网站| 久久99国产精品成人| 久久精品老司机| 中文字幕中文字幕一区| 九九视频免费在线观看| 欧美综合一区二区三区| 亚洲精品网站在线| 亚洲人成网7777777国产| 中文字幕在线观看播放| 国产精品久久久久久久久久| 久久久久97| 最新av在线免费观看| 午夜影院日韩| 白嫩情侣偷拍呻吟刺激| 国产精品电影一区二区| 无码人妻久久一区二区三区 | 不卡av免费在线| 国产91精品入口| 国产一区第一页| 在线一区二区三区四区五区| 丰满人妻一区二区三区免费视频| 日韩精品免费在线观看| 黄网站在线观| 成人黄色av网| 99久久精品费精品国产风间由美 | 久久精品一区二区三区四区五区| 精品久久久久久久久久| 91国产免费视频| 中文字幕综合一区| 成人日韩在线| 日韩欧美99| 乱码第一页成人| 国产ts在线观看| 一区二区三区美女| 国产精品福利电影| 久久精品一区中文字幕| 成人做爰视频www| 欧洲一区二区在线观看| 首页欧美精品中文字幕| 国产精品福利导航| 精品福利一区二区| 老牛影视av牛牛影视av| 欧美成人手机在线| 日韩欧美一级| 肉大捧一出免费观看网站在线播放| 国产一区二区女| 国产尤物在线播放| 欧美精品日日鲁夜夜添| 国产原创精品视频| 91精品久久久久久久久久久久久久| 波多野结衣在线播放一区| 激情五月亚洲色图| 国产亚洲女人久久久久毛片| 欧美性受xxx黑人xyx性爽| 国产午夜精品一区二区三区| 中文字幕色婷婷在线视频| 免费一区二区三区| 久久国产成人| 免费视频91蜜桃| 欧美日韩精品欧美日韩精品| 精品欧美色视频网站在线观看| 成人福利网站在线观看11| 欧美岛国激情| jjzz黄色片| 五月激情综合网| www.在线视频.com| 国产一区二区在线播放| 偷拍欧美精品| 91人妻一区二区| 精品欧美aⅴ在线网站| 国产免费永久在线观看| 国产欧美一区二区白浆黑人| 一区二区三区在线电影| 国产精九九网站漫画| 精品久久久久久久久久| 91porn在线观看| 亚洲精品欧美日韩专区| 亚洲一区成人| 中文字幕第24页| 欧美人与禽zozo性伦| 99爱在线视频| 日韩av影视| 国产999精品久久| 欧美h在线观看| 久久成人国产精品| 日本成人a网站| 制服丝袜中文字幕第一页| 亚洲精品日日夜夜| 日韩porn| 99www免费人成精品| 午夜一级在线看亚洲| 在线免费日韩av| 亚洲男人天堂2024|