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

三種檢索策略實戰:基于Ollama+BGE-M3+Elasticsearch的關鍵詞檢索、向量檢索與混合檢索完整指南

開發 前端
因為BGE-M3 是一個嵌入模型,因此不能像生成式模型那樣使用?<font style="color:rgb(199, 37, 78);background-color:rgb(249, 242, 244);">ollama run</font>?命令運行,在通過ollama pull拉取之后將在調用時候自動加載!

一、ollama部署向量模型bge-m3

ollama pull bge-m3

(注意:因為BGE-M3 是一個嵌入模型,因此不能像生成式模型那樣使用 <font style="color:rgb(199, 37, 78);background-color:rgb(249, 242, 244);">ollama run</font> 命令運行,在通過ollama pull拉取之后將在調用時候自動加載!`)

curl http://localhost:11434/api/embed -d '{
  "model": "bge-m3",
  "input": ["你是誰?"]
}'

input 輸入可以是list,也可以傳入單個字符串;

圖片圖片

調用ollama的embedding模型的python代碼示例。

import requests
import json


url = "http://localhost:11434/api/embed"


payload = json.dumps({
  "model": "bge-m3:latest",
  "input": [
    "你是誰?"
  ]
})
headers = {
  'Content-Type': 'application/json'
}


response = requests.request("POST", url, headers=headers, data=payload).json()


print(response)

二、es操作示例

es的索引創建

創建一個名為embedding_demo_v2 的索引,下面是他的結構;

{
    "mappings": {
        "properties": {
            "title": {
                "type": "text","analyzer":"ik_smart"


            },
            "content": {
                "type": "text","analyzer":"ik_smart"
            },
            "embedding": {
                "type": "dense_vector",
                "dims": 1024,
                "index": true,
                "similarity": "cosine"
            }
        }
    }
}

圖片圖片

python代碼示例:

# 本地安裝elasticsearch時,應指定與服務端相同的大版本號:


from operator import index
from elasticsearch import Elasticsearch
import requests
import json


# 連接到 Elasticsearch,替換為實際的 IP 地址和密碼
# es = Elasticsearch('http://localhost:9200', basic_auth=('elastic', 'Elastic_j625sz'))
# es = Elasticsearch('http://192.168.100.6:9200',request_timeout=60)    # 無密碼的連接
es = Elasticsearch('http://192.168.14.83:9200',request_timeout=60)    # 無密碼的連接


# 檢查連接
if es.ping():
    print('es連接成功')
else:
    print('es連接失敗')


# 創建索引并且定義結構
def create_index(es, index_name="embedding_demo_v2"):
    """創建索引,如果索引已存在則忽略"""


    if not es.indices.exists(index=index_name):
        es.indices.create(index=index_name)
        # 定義結構
        define_mapping(es, index_name=index_name)


# 創建映射
def define_mapping(es, index_name="embedding_demo_v2"):
    """為索引定義映射"""
    mapping_cnotallow={
            "mappings": {
                "properties": {
                "title": {
                    "type": "text","analyzer":"ik_smart"
                },
                "content": {
                    "type": "text","analyzer":"ik_smart"
                }
                ,
                "embedding": {
                    "type": "dense_vector",
                    "dims": 1024,
                    "index": True,
                    "similarity": "cosine"
                }


                }
            }
        }
    es.indices.create(index=index_name, body=mapping_config, ignore=400)  # ignore=400忽略索引已存在錯誤

es的添加示例數據

隨機造了幾條數據:

["張無忌","謝遜","趙敏","小昭","張翠山"]

# 寫入測試文本數據
def append_demo_data(index_name="embedding_demo_v2"):


     # 添加示例數據
    for single_text in ["張無忌","謝遜","趙敏","小昭","張翠山"]:
        print("當前文本:{}".format(single_text))
        curr_vector=embedding_function(text=single_text)
        # print(curr_vector)
        print("--------")
        # 準備數據
        curr_data = {
        "title": "倚天屠龍記",
        "content": single_text,
        "embedding": curr_vector
        }


        # 插入文檔
        insert_document(es, index_name=index_name, doc_id=None, document=curr_data)


# 新增
def insert_document(es, index_name="example_index", doc_id=None, document=None):
    """插入文檔到指定索引"""
    respnotallow=es.index(index=index_name, id=doc_id, document=document)
    print(response)


# 向量化模型
def embedding_function(text="你是誰"):
    # 這里使用一個簡單的示例向量,實際應用中應調用向量化模型生成


    url = "http://localhost:11434/api/embed"


    payload = json.dumps({
    "model": "bge-m3:latest",
    "input": [text]
    })
    headers = {
    'Content-Type': 'application/json'
    }


    response = requests.request("POST", url, headers=headers, data=payload).json()


    # print(response)
    vector=response["embeddings"][0]
    # print(vector)
    print("向量維度:{}".format(len(vector)))
    return vector

es的關鍵詞檢索

{
    "query": {
        "match": {
            "content": {
                "query": "張無忌和張翠山是什么關系"
            }
        }
    },
    "size": 10,
    "fields": [
        "title",
        "content"
    ]
}

圖片圖片

python代碼示例:

# 關鍵詞檢索
def query_keyword_function(index_name="embedding_demo_v2",questinotallow="張無忌和張翠山是什么關系"):
    print("開始關鍵詞檢索!")
    # questinotallow="張無忌和張翠山是什么關系"


    # 單獨的關鍵詞檢索
    query_keyword_dict={
            "query": {
                "match": {
            "content": {
                "query": question
            }
            }
            },
            "size": 10,
            "fields": [ "title", "content" ]
        }


    print("question:{}".format(question))
    result=search_documents(es, index_name=index_name, query=query_keyword_dict)
    # print(len(result))
    for single_key in result:
        # print(single_key)
        if single_key=="hits":
            hits_list=result["hits"]["hits"]
            for single_hit in hits_list:
                print("_score:{0},fields:{1}".format(single_hit["_score"],single_hit["fields"]))




# 查詢
def search_documents(es, index_name="embedding_demo_v2", query=None):
    """在指定索引中搜索文檔"""
    return es.search(index=index_name, body=query)

結果:

圖片圖片

es的向量搜索

"query_vector": [ -0.015572428,-0.072642185,-0.0066854693] ,實際傳入你的向量,此處只是方便演示;

{
  "knn": {
      "field": "embedding",
      "query_vector": [ -0.015572428,-0.072642185,-0.0066854693], 
      "k": 10,
      "num_candidates": 100
  },
  "fields": [ "title", "content" ]
 }

圖片圖片

python代碼示例:

# 向量檢索
def query_embedding_function(index_name="embedding_demo_v2",questinotallow="張無忌和張翠山是什么關系"):
    print("開始向量檢索!")


    # questinotallow="張無忌和張翠山是什么關系"
    question_embedding=embedding_function(text=question)


    # 單獨的向量檢索
    query_embedding_dict={
            "knn": {
                "field": "embedding",
                "query_vector": question_embedding,
                "k": 10,
                "num_candidates": 100
            },
            "fields": [ "title", "content" ]
            }


    print("question:{}".format(question))
    result=search_documents(es, index_name=index_name, query=query_embedding_dict)
    # print(len(result))
    for single_key in result:
        # print(single_key)
        if single_key=="hits":
            hits_list=result["hits"]["hits"]
            for single_hit in hits_list:
                print("_score:{0},fields:{1}".format(single_hit["_score"],single_hit["fields"]))




# 查詢
def search_documents(es, index_name="embedding_demo_v2", query=None):
    """在指定索引中搜索文檔"""
    return es.search(index=index_name, body=query)

結果:

圖片圖片

es的關鍵詞和向量的混合檢索,利用boots的組合方法,分配不同的權重

{
  "query": {
    "match": {
      "content": {
        "query": "張無忌和張翠山是什么關系",
        "boost": 0.1
      }
    }
  },
  "knn": {
    "field": "embedding",                                         
    "query_vector":[ -0.015572428,-0.072642185,-0.0066854693],                                        
    "k": 10,                                                                                
    "num_candidates": 100,                                             
    "boost": 0.9
  },
  "size": 10
}

圖片圖片

最終的得分計算:

score = 0.1 * match_score + 0.9 * knn_score

python代碼示例:

# 向量+es關鍵詞-混合檢索-利用boots方法
def query_simple_hybrid_retrieval_function(index_name="embedding_demo_v2",questinotallow="張無忌和張翠山是什么關系"):
    print("開始混合檢索!利用boots")


    # questinotallow="張無忌和張翠山是什么關系"
    question_embedding=embedding_function(text=question)


    # 單獨的向量檢索
    query_embedding_dict={
            "query": {
                    "match": {
                    "content": {
                        "query": "張無忌和張翠山是什么關系",
                        "boost": 0.1
                    }
                    }
                },
            "knn": {
                "field": "embedding",
                "query_vector": question_embedding,
                "k": 10,
                "num_candidates": 100,
                 "boost": 0.9
            },
            "fields": [ "title", "content" ]
            }


    print("question:{}".format(question))
    result=search_documents(es, index_name=index_name, query=query_embedding_dict)
    # print(len(result))
    for single_key in result:
        # print(single_key)
        if single_key=="hits":
            hits_list=result["hits"]["hits"]
            for single_hit in hits_list:
                print("_score:{0},fields:{1}".format(single_hit["_score"],single_hit["fields"]))




# 查詢
def search_documents(es, index_name="embedding_demo_v2", query=None):
    """在指定索引中搜索文檔"""
    return es.search(index=index_name, body=query)

結果:

圖片圖片

三、完整的python示例代碼

# 本地安裝elasticsearch時,應指定與服務端相同的大版本號:


from operator import index
from elasticsearch import Elasticsearch
import requests
import json


# 連接到 Elasticsearch,替換為實際的 IP 地址和密碼
# es = Elasticsearch('http://localhost:9200', basic_auth=('elastic', 'Elastic_j625sz'))
es = Elasticsearch('http://localhost:9200',request_timeout=60)    # 無密碼的連接


# 檢查連接
if es.ping():
    print('es連接成功')
else:
    print('es連接失敗')


# 創建索引并且定義結構
def create_index(es, index_name="embedding_demo_v2"):
    """創建索引,如果索引已存在則忽略"""


    if not es.indices.exists(index=index_name):
        es.indices.create(index=index_name)
        # 定義結構
        define_mapping(es, index_name=index_name)


# 創建映射
def define_mapping(es, index_name="embedding_demo_v2"):
    """為索引定義映射"""
    mapping_cnotallow={
            "mappings": {
                "properties": {
                "title": {
                    "type": "text","analyzer":"ik_smart"
                },
                "content": {
                    "type": "text","analyzer":"ik_smart"
                }
                ,
                "embedding": {
                    "type": "dense_vector",
                    "dims": 1024,
                    "index": True,
                    "similarity": "cosine"
                }


                }
            }
        }
    es.indices.create(index=index_name, body=mapping_config, ignore=400)  # ignore=400忽略索引已存在錯誤


# 新增
def insert_document(es, index_name="embedding_demo_v2", doc_id=None, document=None):
    """插入文檔到指定索引"""
    respnotallow=es.index(index=index_name, id=doc_id, document=document)
    print(response)


# 刪除
def delete_document(es, index_name="embedding_demo_v2", doc_id=None):
    """刪除指定ID的文檔"""
    es.delete(index=index_name, id=doc_id)


# 改

def update_document(es, index_name="embedding_demo_v2", doc_id=None, updated_doc=None):
    """更新指定ID的文檔"""
    result=es.update(index=index_name, id=doc_id, body={"doc": updated_doc})
    print(result)


# 查詢
def search_documents(es, index_name="embedding_demo_v2", query=None):
    """在指定索引中搜索文檔"""
    return es.search(index=index_name, body=query)


# 向量化模型
def embedding_function(text="你是誰"):
    # 這里使用一個簡單的示例向量,實際應用中應調用向量化模型生成


    url = "http://localhost:11434/api/embed"


    payload = json.dumps({
    "model": "bge-m3:latest",
    "input": [text]
    })
    headers = {
    'Content-Type': 'application/json'
    }


    response = requests.request("POST", url, headers=headers, data=payload).json()


    # print(response)
    vector=response["embeddings"][0]
    # print(vector)
    print("向量維度:{}".format(len(vector)))
    return vector


# 寫入測試文本數據
def append_demo_data(index_name="embedding_demo_v2"):


     # 添加示例數據
    for single_text in ["張無忌","謝遜","趙敏","小昭","張翠山"]:
        print("當前文本:{}".format(single_text))
        curr_vector=embedding_function(text=single_text)
        # print(curr_vector)
        print("--------")
        # 準備數據
        curr_data = {
        "title": "倚天屠龍記",
        "content": single_text,
        "embedding": curr_vector
        }


        # 插入文檔
        insert_document(es, index_name=index_name, doc_id=None, document=curr_data)


# 向量檢索
def query_embedding_function(index_name="embedding_demo_v2",questinotallow="張無忌和張翠山是什么關系"):
    print("開始向量檢索!")


    # questinotallow="張無忌和張翠山是什么關系"
    question_embedding=embedding_function(text=question)


    # 單獨的向量檢索
    query_embedding_dict={
            "knn": {
                "field": "embedding",
                "query_vector": question_embedding,
                "k": 10,
                "num_candidates": 100
            },
            "fields": [ "title", "content" ]
            }


    print("question:{}".format(question))
    result=search_documents(es, index_name=index_name, query=query_embedding_dict)
    # print(len(result))
    for single_key in result:
        # print(single_key)
        if single_key=="hits":
            hits_list=result["hits"]["hits"]
            for single_hit in hits_list:
                print("_score:{0},fields:{1}".format(single_hit["_score"],single_hit["fields"]))
                

# 關鍵詞檢索
def query_keyword_function(index_name="embedding_demo_v2",questinotallow="張無忌和張翠山是什么關系"):
    print("開始關鍵詞檢索!")
    # questinotallow="張無忌和張翠山是什么關系"


    # 單獨的關鍵詞檢索
    query_keyword_dict={
            "query": {
                "match": {
            "content": {
                "query": question
            }
            }
            },
            "size": 10,
            "fields": [ "title", "content" ]
        }


    print("question:{}".format(question))
    result=search_documents(es, index_name=index_name, query=query_keyword_dict)
    # print(len(result))
    for single_key in result:
        # print(single_key)
        if single_key=="hits":
            hits_list=result["hits"]["hits"]
            for single_hit in hits_list:
                print("_score:{0},fields:{1}".format(single_hit["_score"],single_hit["fields"]))


# 向量+es關鍵詞-混合檢索-利用boots方法
def query_simple_hybrid_retrieval_function(index_name="embedding_demo_v2",questinotallow="張無忌和張翠山是什么關系"):
    print("開始混合檢索!利用boots")


    # questinotallow="張無忌和張翠山是什么關系"
    question_embedding=embedding_function(text=question)


    # 單獨的向量檢索
    query_embedding_dict={
            "query": {
                    "match": {
                    "content": {
                        "query": "張無忌和張翠山是什么關系",
                        "boost": 0.1
                    }
                    }
                },
            "knn": {
                "field": "embedding",
                "query_vector": question_embedding,
                "k": 10,
                "num_candidates": 100,
                 "boost": 0.9
            },
            "fields": [ "title", "content" ]
            }


    print("question:{}".format(question))
    result=search_documents(es, index_name=index_name, query=query_embedding_dict)
    # print(len(result))
    for single_key in result:
        # print(single_key)
        if single_key=="hits":
            hits_list=result["hits"]["hits"]
            for single_hit in hits_list:
                print("_score:{0},fields:{1}".format(single_hit["_score"],single_hit["fields"]))


if __name__ == "__main__":


    index_name="embedding_demo_v2"


    # # # 創建索引
    create_index(es, index_name=index_name)


    # 寫入測試數據
    append_demo_data(index_name=index_name)


    # 關鍵詞檢索
    query_keyword_function(index_name=index_name,questinotallow="張無忌和張翠山是什么關系")


    # 向量檢索
    query_embedding_function(index_name=index_name,questinotallow="張無忌和張翠山是什么關系")


    # 簡單的混合檢索


    query_simple_hybrid_retrieval_function(index_name=index_name,questinotallow="張無忌和張翠山是什么關系")
責任編輯:武曉燕 來源: AI小新
相關推薦

2022-10-20 08:01:59

檢索關鍵詞replace

2009-09-25 15:15:54

Hibernate檢索

2023-10-23 16:34:37

Elasticsea深度學習

2025-03-19 09:30:00

2024-09-11 16:36:39

2009-09-07 17:32:14

LINQ檢索數據

2011-04-26 10:16:44

nutch

2011-04-22 10:40:52

SQL ServerWord檢索

2025-08-06 08:03:23

2009-09-21 17:06:26

CakePHP模型檢索數據

2022-12-13 08:39:53

Kafka存儲檢索

2009-09-29 16:16:58

Hibernate H

2024-05-22 09:38:25

2010-11-10 14:18:15

SQL SERVER全

2023-05-19 09:42:54

Chatbot

2025-03-26 11:05:13

2025-05-26 09:49:59

多模態智能體RAG

2025-05-21 08:35:00

2022-01-04 19:15:33

ElasticsearSpring BootLogstash
點贊
收藏

51CTO技術棧公眾號

国产裸体美女永久免费无遮挡| 国产精品无码av无码| 91国产精品一区| 色综合蜜月久久综合网| 欧美精选一区二区| 三年中国中文在线观看免费播放| 欧美激情黑白配| 亚洲人成精品久久久| 在线影院国内精品| 日韩精品不卡| 国产精品国产三级国产普通话对白| 亚洲91精品| 精品免费视频一区二区| 国产3p露脸普通话对白| 欧美色综合一区二区三区| 久久精品主播| 久久精品视频在线| 日本人添下边视频免费| 日韩高清av电影| 日韩激情在线播放| 久久激情电影| 亚洲成av人乱码色午夜| xxxx一级片| 9765激情中文在线| 最新日韩在线视频| 免费在线一区二区| 亚洲AV无码乱码国产精品牛牛| 久久国产精品久久w女人spa| 欧美精品手机在线| 日本爱爱爱视频| 久久九九热re6这里有精品| 欧美日韩国产小视频在线观看| 免费不卡av在线| 久cao在线| 国产欧美精品在线观看| 国产综合18久久久久久| 国产成人a人亚洲精品无码| 日韩av在线播放中文字幕| 午夜精品久久久久久久99热浪潮 | 在线视频一区二区| 国产精品300页| 91蝌蚪精品视频| 日韩一区二区在线观看视频| 日日躁夜夜躁aaaabbbb| 最新日韩三级| 日韩欧美在线视频| 女性女同性aⅴ免费观女性恋| 日本高清成人vr专区| 亚洲三级在线看| 影音先锋亚洲视频| a√在线中文网新版址在线| 久久午夜国产精品| 美女被啪啪一区二区| 天天操天天干天天干| 不卡在线视频中文字幕| 国产伦精品一区二区三区高清版| 国产999久久久| 国产黑丝在线一区二区三区| 91在线中文字幕| av一区二区三| 大美女一区二区三区| 亚洲最大的成人网| 精品国产亚洲AV| 国产精品亚洲一区二区三区妖精| 亚洲一区二区中文| 精品人妻一区二区三区浪潮在线 | 欧美日韩一二三四五区| 波多野结衣之无限发射| 性欧美xxx69hd高清| 欧美丝袜第一区| 可以免费在线看黄的网站| 影音成人av| 欧美日韩免费不卡视频一区二区三区 | 国产精品影院在线观看| 亚洲一区 中文字幕| 激情文学综合插| 99久热re在线精品996热视频| www.桃色av嫩草.com| 不卡的av在线| 欧美一区二区在线视频观看| 成a人片在线观看www视频| 中文字幕一区二区三中文字幕| 一区二区不卡在线视频 午夜欧美不卡' | 亚洲精品9999| 国产素人视频在线观看| 亚洲一区二区影院| 人妻精品无码一区二区三区 | 国产欧美日韩91| a天堂中文在线观看| 99r精品视频| 亚洲高清精品中出| 在线中文免费视频| 午夜精品久久久久久不卡8050| 国产一区亚洲二区三区| 在线免费观看亚洲| 日韩av在线直播| 亚洲精品天堂网| 亚洲午夜极品| 国产不卡精品视男人的天堂 | 亚洲大胆人体在线| 国产 欧美 在线| 婷婷另类小说| 欧美中文字幕在线| 国产美女免费视频| 91在线视频观看| 久久久一二三四| 亚洲一二三四| 日韩一区二区精品| 人人妻人人藻人人爽欧美一区| 五月久久久综合一区二区小说| 午夜精品久久久久久久久久久久| 亚洲系列在线观看| 99精品欧美一区| 天天综合五月天| 美女日韩欧美| 欧美精品一区视频| 性生交大片免费全黄| 亚洲欧美激情诱惑| 高清一区二区三区视频| 自拍视频在线网| 欧美性色xo影院| 性猛交╳xxx乱大交| 日韩久久视频| 清纯唯美日韩制服另类| 亚洲美女性生活| 中文字幕一区二区三区乱码在线| 丰满人妻中伦妇伦精品app| 玖玖精品一区| xxx一区二区| 黄色大全在线观看| 91在线国产观看| 久久艹国产精品| 国内精品视频| 正在播放亚洲1区| 中文字幕在线欧美| 91丨九色丨蝌蚪富婆spa| 艳母动漫在线免费观看| 91综合国产| 亚洲性无码av在线| 成年人av网站| 久久午夜免费电影| 无码人妻丰满熟妇区毛片18| 国产精品1luya在线播放| 免费av一区二区| 91丨九色丨丰满| 18涩涩午夜精品.www| 15—17女人毛片| 日本欧美肥老太交大片| 国产成人一区二区三区| 国产系列在线观看| 一本大道久久a久久精品综合| 国产精品无码专区| 在线亚洲免费| 鲁鲁狠狠狠7777一区二区| 亚洲第一av| 国产视频精品一区二区三区| 免费在线不卡视频| 久久色中文字幕| 欧美精品aaaa| 欧美中文字幕一区二区| 国产精品女主播| 伊人免费在线| 69久久夜色精品国产69蝌蚪网| 成年人二级毛片| 国产综合成人久久大片91| 成人免费看片视频在线观看| 美女精品久久| 午夜精品久久久久久久久久久久 | 国产高清久久久| 国产片侵犯亲女视频播放| 国产厕拍一区| 日本精品一区二区三区在线| 国产天堂素人系列在线视频| 欧美亚洲动漫精品| 日韩a级片在线观看| 成人一区二区在线观看| 91猫先生在线| 成人精品影视| 亚洲在线免费看| 波多野在线观看| 亚洲人成电影网站| 91丨九色丨丰满| 午夜私人影院久久久久| japanese中文字幕| 精品一区二区在线看| 国产美女作爱全过程免费视频| 亚洲大片精品免费| 国产在线观看一区二区三区 | 亚洲欧美激情在线| 亚洲啪av永久无码精品放毛片 | 精品国产中文字幕第一页| 国产精品视频1区| 久色国产在线| 亚洲最新av在线| 亚洲AV无码国产精品午夜字幕 | 亚洲国产中文在线| 51午夜精品视频| 国产激情在线观看| 亚洲激情久久久| 国产一区二区三区在线观看 | 中文一区二区视频| 亚洲AV无码一区二区三区少妇| 色综合久久综合网| 黄色香蕉视频在线观看| 99久久夜色精品国产网站| 最新中文字幕2018| 国自产拍偷拍福利精品免费一| 蜜桃传媒视频麻豆第一区免费观看 | 成人在线视频免费观看| 不卡一卡2卡3卡4卡精品在| 国产v综合v| 久久久免费精品| 91在线直播| 亚洲精品不卡在线| 国产精品爽爽久久久久久| 欧美日韩国产一区二区| 日日碰狠狠添天天爽| 久久只精品国产| 精品1卡二卡三卡四卡老狼| 麻豆成人91精品二区三区| jizzjizz国产精品喷水| 综合国产在线| 亚洲国产精品一区二区第四页av| 免费看成人人体视频| 97人摸人人澡人人人超一碰| 99蜜月精品久久91| 日本精品视频在线播放| 国产精品69xx| 久久在线视频在线| h网站在线免费观看| 亚洲精品资源美女情侣酒店| 蜜臀久久久久久999| 91精品婷婷国产综合久久竹菊| 7799精品视频天天看| 亚洲国产日日夜夜| 欧美黄片一区二区三区| 国产精品福利影院| 国产午夜福利一区| 久久色.com| 右手影院亚洲欧美| 93久久精品日日躁夜夜躁欧美| www男人天堂| 国产不卡高清在线观看视频| 善良的小姨在线| 久久精品国产精品亚洲综合| 日韩欧美国产片| 久久精品国产网站| 九九热精品在线播放| 日韩激情中文字幕| 日本888xxxx| 日韩主播视频在线| 国产一区二区视频免费在线观看| 亚洲欧美日韩一区在线观看| 草草久久久无码国产专区| 亚洲国产影院| 欧美视频在线播放一区| 久久精品人人| 免费av网址在线| 日韩成人一级大片| 九九热精品在线播放| 九色porny丨国产精品| 三区视频在线观看| 国产一区二区在线观看免费| 在线观看视频你懂得| 国产成人综合在线播放| 亚洲午夜久久久久久久久| 95精品视频在线| 国产又粗又黄又猛| 国产精品久久久久久久久晋中| 在线日韩国产网站| 夜夜嗨av一区二区三区| 日本少妇毛茸茸高潮| 欧美日韩免费看| 国产成人a v| 717成人午夜免费福利电影| 亚洲精品国产手机| 日韩精品久久久久久福利| 成人免费高清在线播放| 伦伦影院午夜日韩欧美限制| 6699嫩草久久久精品影院| 4438全国成人免费| 先锋影音网一区二区| 亚洲一区二区三区视频| 开心激情综合| 亚洲欧洲免费无码| 激情亚洲成人| 欧美精品性生活| 国产成人精品一区二| 亚洲天堂视频一区| 亚洲欧美日韩国产一区二区三区| 国产无遮挡又黄又爽又色| 色悠悠亚洲一区二区| 国产欧美一区二区三区视频在线观看| 精品精品国产高清a毛片牛牛| 黄色av网站在线免费观看| 久久亚洲综合国产精品99麻豆精品福利 | 国产一级爱c视频| 男人的天堂久久精品| 欧美老女人bb| 亚洲国产精品av| 亚洲国产精品成人无久久精品| 欧美色中文字幕| 日韩一级片免费在线观看| 日韩在线视频网| 欲香欲色天天天综合和网| 92国产精品久久久久首页 | 国内一区二区视频| 成人影视免费观看| 亚洲精品中文在线观看| 精品黑人一区二区三区| 欧美精品一区二区蜜臀亚洲| 91女主播在线观看| 57pao精品| 一区二区三区国产好| 亚洲五月六月| 亚洲综合丁香| 中文字幕在线视频播放| 亚洲精品日日夜夜| 在线观看国产精品视频| 亚洲精品在线不卡| bl在线肉h视频大尺度| 亚洲va男人天堂| 日韩在线观看一区| 99精品免费在线观看| 成人在线综合网| 国产黄色的视频| 欧美精品高清视频| av二区在线| 国产成+人+综合+亚洲欧洲| 国产精品18hdxxxⅹ在线| 加勒比海盗1在线观看免费国语版| 天堂久久久久va久久久久| 免费的av网站| 亚洲成人黄色影院| 精品人妻一区二区三区三区四区| 色播久久人人爽人人爽人人片视av| 欧美电影免费看| 麻豆久久久9性大片| 亚洲永久视频| 蜜臀av一区二区三区有限公司| 亚洲不卡av一区二区三区| 国产高清在线观看视频| 久久综合伊人77777蜜臀| 久久91视频| 亚洲一区在线免费| 美腿丝袜在线亚洲一区| 亚洲一二三精品| 欧美色图片你懂的| 在线免费黄色| 国产在线久久久| 亚洲精品极品少妇16p| 特级黄色片视频| 亚洲免费观看高清完整| 国产视频手机在线观看| 欧美xxxx18国产| 日韩成人视屏| 国产欧美日韩网站| 北岛玲一区二区三区四区| 日韩毛片在线视频| 日韩精品视频在线| 你懂得影院夜精品a| 日本精品一区二区三区视频 | 日本天堂在线| 日韩av快播网址| 久久五月天小说| 超碰人人cao| 午夜国产精品一区| 三级在线观看| 国产精品一区二区三区久久久| 天天综合网91| 中文视频在线观看| 欧洲av一区二区嗯嗯嗯啊| 在线免费看a| 鬼打鬼之黄金道士1992林正英| 日韩亚洲国产欧美| www.黄色在线| 欧美一级生活片| 麻豆免费在线| 亚洲乱码一区二区三区三上悠亚| 国产在线不卡一卡二卡三卡四卡| 久久精品视频9| 亚洲品质视频自拍网| 欧美成人aaa| 国产又粗又猛又爽又黄的网站| 成人综合婷婷国产精品久久蜜臀| 探花视频在线观看| 两个人的视频www国产精品| 加勒比色老久久爱综合网| 可以免费在线看黄的网站| 亚洲男人都懂的| 欧美一区二区少妇| 成人在线中文字幕| 亚洲免费网站| 成人高潮免费视频| 亚洲美女精品久久| vam成人资源在线观看| 久久综合色视频| 亚洲色图都市小说| 黄上黄在线观看| 97超碰人人模人人爽人人看|