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

向量檢索

更新時(shí)間:

KnnVectorQuery使用數(shù)值向量進(jìn)行近似最近鄰查詢,可以在大規(guī)模數(shù)據(jù)集中找到最相似的數(shù)據(jù)項(xiàng)。

前提條件

注意事項(xiàng)

  • 表格存儲(chǔ)Java SDK5.17.0版本開始支持向量檢索功能,請(qǐng)確保已安裝正確的表格存儲(chǔ)Java SDK版本。

    說明

    關(guān)于Java SDK歷史迭代版本的更多信息,請(qǐng)參見Java SDK歷史迭代版本

  • 向量字段類型的個(gè)數(shù)、維度等存在限制。更多信息,請(qǐng)參見多元索引限制

  • 由于多元索引服務(wù)端是多分區(qū)的,多元索引服務(wù)端的每個(gè)分區(qū)均會(huì)返回自身最鄰近的TopK個(gè)值并在協(xié)調(diào)節(jié)點(diǎn)進(jìn)行匯總,因此如果要使用Token翻頁獲取所有數(shù)據(jù),則獲取到的總行數(shù)與多元索引服務(wù)端的分區(qū)數(shù)有關(guān)。

參數(shù)

參數(shù)

是否必選

說明

fieldName

向量字段名稱。

topK

查詢最鄰近的topK個(gè)值。關(guān)于最大值的說明請(qǐng)參見多元索引限制

重要
  • K值越大,召回率越好,但是查詢延遲和費(fèi)用越高。

  • 當(dāng)topK的值小于SearchQuerylimit的值時(shí),服務(wù)端會(huì)自動(dòng)把topK的值放大到limit的值。

float32QueryVector

要查詢相似度的向量。

filter

查詢過濾器,支持組合使用任意的非向量檢索的查詢條件。

示例

以下示例用于查詢表中與指定向量最鄰近的10個(gè)向量數(shù)據(jù),并且最鄰近的向量需要滿足Col_Keyword列值等于"hangzhou"且Col_Long列值小于4的條件。

private static void knnVectorQuery(SyncClient client) {
    SearchQuery searchQuery = new SearchQuery();
    KnnVectorQuery query = new KnnVectorQuery();
    query.setFieldName("Col_Vector");
    query.setTopK(10); // 返回最鄰近的topK。
    query.setFloat32QueryVector(new float[]{0.1f, 0.2f, 0.3f, 0.4f});
    // 最鄰近的向量需要滿足Col_Keyword=hangzhou && Col_Long<4條件。
    query.setFilter(QueryBuilders.bool()
            .must(QueryBuilders.term("Col_Keyword", "hangzhou"))
            .must(QueryBuilders.range("Col_Long").lessThan(4))
    );
    searchQuery.setQuery(query);
    searchQuery.setLimit(10);
    // 按照分?jǐn)?shù)排序。
    searchQuery.setSort(new Sort(Collections.singletonList(new ScoreSort())));
    SearchRequest searchRequest = new SearchRequest("<TABLE_NAME>", "<SEARCH_INDEX_NAME>", searchQuery);
    SearchRequest.ColumnsToGet columnsToGet = new SearchRequest.ColumnsToGet();
    columnsToGet.setColumns(Arrays.asList("Col_Keyword", "Col_Long"));
    searchRequest.setColumnsToGet(columnsToGet);
    // 訪問Search接口。
    SearchResponse resp = client.search(searchRequest);
    for (SearchHit hit : resp.getSearchHits()) {
        // 打印分?jǐn)?shù)。
        System.out.println(hit.getScore());
        // 打印數(shù)據(jù)。
        System.out.println(hit.getRow());
    }
}

相關(guān)文檔

常見問題

如何優(yōu)化表格存儲(chǔ)的向量檢索效果