日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

文檔搜索 Demo

通過SDK 調用召回引擎版實例進行數據檢索

代碼示例

# -*- coding: utf-8 -*-


from alibabacloud_ha3engine import models, client
from alibabacloud_tea_util import models as util_models
from Tea.exceptions import TeaException, RetryError
def search():
    Config = models.Config(
        endpoint="ha-cn-7mz2ougaw02.ha.aliyuncs.com",
        instance_id="ha-cn-7mz2ougaw02",
        protocol="http",
        access_user_name="user",
        access_pass_word="111111"

    )

    # 如用戶請求時間較長. 可通過此配置增加請求等待時間. 單位 ms
    # 此參數可在 search_with_options 方法中使用
    runtime = util_models.RuntimeOptions(
        connect_timeout=5000,
        read_timeout=10000,
        autoretry=False,
        ignore_ssl=False,
        max_idle_conns=50
    )

    # 初始化 Ha3Engine Client
    ha3EngineClient = client.Client(Config)

    optionsHeaders = {}

    try:



        # 示例1: 直接使用 ha 查詢串進行搜索.
        # =====================================================
        query_str = "config=hit:4,format:json,fetch_summary_type:pk,qrs_chain:search&&query=id:<pk>&&cluster=general"
        haSearchQuery = models.SearchQuery(query=query_str)
      	# method可不指定,僅支持GET和POST請求方式, 默認為GET方式 
        haSearchRequestModel = models.SearchRequestModel(headers=optionsHeaders, query=haSearchQuery, method='POST')
        hastrSearchResponseModel = ha3EngineClient.search(haSearchRequestModel)
        print(hastrSearchResponseModel)
        # =====================================================

        # 示例 2: 使用構造的查詢進行 ha 查詢.
        # =====================================================
        # 設置聚合打散子句
        DistinctClauses = []

        # 設置統計子句配置對象
        aggregateClauses = []
        haQueryAggregateClause = models.HaQueryAggregateClause(
            group_key="cate_id",  # 設置group_key
            agg_fun="count()",  # 設置agg_fun
            range="0~10",  # 設置分段統計
            max_group="5",  # 設置最大返回組數
            agg_filter="cate_id=1",  # 設置agg_filter
            agg_sampler_thres_hold="5",  # 設置采樣閾值
            agg_sampler_step="5",  # 設置采樣步長
        )

        # 添加Aggregate對象參數, 支持設置一個或多個統計字段示例
        aggregateClauses.append(haQueryAggregateClause)

        # 定義Config對象,用于設定config子句參數,分頁或數據返回格式等.
        CustomConfig = dict()
        CustomConfig.__setitem__("no_summary", "yes")
        CustomConfig.__setitem__("qrs_chain", "search")
        haQueryconfig = models.HaQueryconfigClause(
            # 設置 查詢起始位置
            start="1",

            # 設置查詢頁返回數量
            hit="10",

            # Format目前支持返回 XML,JSON, protobuf 等格式
            format="JSON",

            # 設置自定義 config 參數.
            custom_config=CustomConfig
        )

        # 設置sort條件
        haQuerySortClauseList = []
        haQuerySortClause = models.HaQuerySortClause(
            # 設置排序id字段
            sort_key="id",
            # 設置排序配置: +  為升序, - 為降序.
            sort_order="+"
        )
        haQuerySortClauseList.append(haQuerySortClause)

        # haQuery 中 Kvpairs 為 dict 類型.  具體 key 范圍. 請參詢開飯文檔.
        haKvpairs = dict()
        haKvpairs.__setitem__("uniqfield", "cate_id")

        # 設置聚合打散子句
        DistinctClauses = []

        dist = models.HaQueryDistinctClause(
            # 設置dist_key
            dist_key="cate_id",
            # 設置dist_count
            dist_count="1",
            # 設置dist_times
            dist_times="1",
            # 設置reserved
            reserved="false",
            # 設置過濾條件
            dist_filter="cate_id<=3",
            # 設置update_total_hit
            update_total_hit="false",
            # 設置grade
            grade="1.2",
        )

        # 添加Distinct對象參數, 支持一個或者多個.dist內容需為 unique.
        DistinctClauses.append(dist)

        # 定義 自定義 query Config 子句.
        CustomQuery = dict()
        CustomQuery.__setitem__("searcher_cache", "use:no")

        haQuery = models.HaQuery(

            # 設置查詢子句,為索引及查詢內容.
            query="id:8148508889615505646",

            # 設置請求集群名稱.
            cluster="general",

            # 設置 config 子句參數
            config=haQueryconfig,

            # 設置查詢過濾條件
            # 支持設置一個或多個 filter 參數.請使用 AND | OR 對多個 filter 進行連接.
            # 比較支持: '=' | '>' | '<' | '<=' | '>=' | '!='
            filter="id>100 AND id<=1000",

            # 設置 aggregate 子句參數
            aggregate=aggregateClauses,

            # 設置 Kvpairs 子句參數
            kvpairs=haKvpairs,

            # 設置 sort 子句參數
            sort=haQuerySortClauseList,

            # 設置 distinct 子句參數
            distinct=DistinctClauses,
            custom_query=CustomQuery

        )
        searchQuery = models.SearchQuery(query=ha3EngineClient.build_ha_search_query(haQuery))
        searchRequestModel = models.SearchRequestModel(optionsHeaders, searchQuery)
        # 使用默認 運行時參數進行請求, method可不指定,僅支持GET和POST請求方式, 默認為GET方式,查詢query長度超過30K請使用POST請求
        haStructResponseModel = ha3EngineClient.search(query=searchRequestModel, method='POST')
        print(haStructResponseModel)



        # 示例3: 直接使用 ha - sql  查詢串進行搜索.
        # =====================================================
        sql_str = "select * from <indexTableName>&&kvpair=trace:INFO;formatType:json"
        sqlsearchQuery = models.SearchQuery(sql=sql_str)
        sqlSearchRequestModel = models.SearchRequestModel(optionsHeaders, sqlsearchQuery)
				# method可不指定,僅支持GET和POST請求方式, 默認為GET方式,查詢query長度超過30K請使用POST請求
        sqlstrSearchResponseModel = ha3EngineClient.search(query=sqlSearchRequestModel, method='POST')
        print(sqlstrSearchResponseModel)

        # 示例4 : 直接使用 ha - sql  結構化進行搜索.
        # =====================================================
        sqlQueryKvpairs  =dict()
        sqlQueryKvpairs.__setitem__("trace", "INFO")
        sqlQueryKvpairs.__setitem__("formatType", "full_json")

        sqlQuery =models.SQLQuery(
            query  ="select * from odps",
            kvpairs=sqlQueryKvpairs
        )

        searchQuery = models.SearchQuery(sql=ha3EngineClient.build_sqlsearch_query(sqlQuery))
        searchRequestModel = models.SearchRequestModel(optionsHeaders, searchQuery)
        # 使用默認 運行時參數進行請求, method可不指定,僅支持GET和POST請求方式, 默認為GET方式,查詢query長度超過30K請使用POST請求
        sqlStructResponseModel = ha3EngineClient.search(query=searchRequestModel, method='POST')
        print(sqlStructResponseModel)

    except TeaException as e:
        print(f"send request with TeaException : {e}")
    except RetryError as e:
        print(f"send request with Connection Exception  : {e}")