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

文檔

查詢高亮

更新時間:

在查詢數據時通過設置高亮參數,返回命中查詢關鍵詞的片段信息并對關鍵詞進行高亮顯示。僅Text類型字段支持查詢高亮功能。

前提條件

注意事項

  • 表格存儲Node.js SDK從5.5.0版本開始支持查詢高亮功能。使用查詢高亮功能時,請確保獲取了正確的Node.js SDK版本。關于Node.js SDK歷史迭代版本的更多信息,請參見Node.js SDK歷史迭代版本。

  • 在MatchQuery和MatchPhraseQuery中使用查詢高亮功能時,關鍵詞可能會被多個preTag、postTag高亮顯示。

  • 如果Text字段的分詞類型為最大語義分詞,則使用MatchPhraseQuery功能進行數據查詢時不支持使用查詢高亮功能。

  • 分片切分可能會將文本中的查詢關鍵詞分割,此時該關鍵詞可能不會被高亮。

參數

參數

說明

highlightEncoder

對高亮分片原文內容的編碼方式。取值范圍如下:

  • PLAIN_MODE(默認):原文展示,不進行編碼。

  • HTML_MODE:對高亮分片原文進行HTML轉義,轉義包括<轉義為&lt;、>轉義為&gt;、"轉義為&quot;、'轉義為&#x27;/轉義為&#x2F;,網頁展示時推薦使用HTML格式。

fieldHighlightParams

字段高亮參數,僅支持設置SearchQuery中包含關鍵詞查詢的字段。

HighlightParameter

numberOfFragments

返回高亮分片的最大數量,推薦設置為1。

fragmentSize

每個分片的長度。默認值100。

重要

實際返回分片的長度不會與該值嚴格相等。

preTag

查詢關鍵詞高亮的前置Tag,例如<em>、<b>。默認值為<em>,您可以按需自定義前置Tag。preTag支持的字符集包括< > " ' /、a-z、A-Z0-9

postTag

查詢關鍵詞高亮的后置Tag,例如</em>、</b>。默認值為</em>,您可以按需自定義前置Tag。postTag支持的字符集包括< > " ' /、a-z、A-Z、0-9

highlightFragmentOrder

當高亮字段返回多個分片時,分片的排序規則。

  • TEXT_SEQUENCE(默認):片段在文本中出現的順序。

  • SCORE:根據命中關鍵詞評分排序多個分片。

示例

以下示例用于使用MatchQuery功能查詢表中Col_Text列的值能夠匹配hangzhou shanghai的數據,并在返回結果中對關鍵詞進行高亮顯示。其中Col_Text列為Text類型。

client.search({
    tableName: "<TABLE_NAME>",
    indexName: "<SEARCH_INDEX_NAME>",
    searchQuery: {
        offset: 0,
        limit: 10, //如果只為了取行數,但不需要具體數據,可以設置limit=0,即不返回任意一行數據。
        query: { //設置查詢類型為MatchQuery。
            queryType: TableStore.QueryType.MATCH_QUERY,
            query: {
                fieldName: "Col_Text", //設置要匹配的列。
                text: "hangzhou shanghai" //設置要匹配的值。
            }
        },
        highlight:{
            highlightEncoder:TableStore.HighlightEncoder.PLAIN_MODE,
            highlightParameters:[
                {
                    fieldName:"Col_Text",
                    preTag: "<b>",
                    postTag: "</b>",
                    fragmentsOrder: TableStore.HighlightFragmentOrder.TEXT_SEQUENCE,
                    fragmentSize: 20,
                    numberOfFragments: 3,
                }
                
            ],
        },
        getTotalCount: true //結果中的TotalCount可以表示表中數據的總行數,默認為false,表示不返回。
    },
    columnToGet: { //返回列設置,可設置為RETURN_SPECIFIED(自定義返回列)、RETURN_ALL(返回所有列)、RETURN_ALL_FROM_INDEX(返回多元索引中的所有列)、RETURN_NONE(不返回)。
        returnType: TableStore.ColumnReturnType.RETURN_ALL
    }
}, function (err, data) {
    if (err) {
        console.log('error:', err);
        return;
    }
    console.log('success:', JSON.stringify(data.rows, null, 2));
    printSearchHit(data.searchHits, "");
});


/**
 * 打印searchHit內容。
 * @param searchHits searchHits
 * @param prefix Nested結構輸出時,增加前綴以打印層次信息。
 */
function printSearchHit(searchHits, prefix) {
    TableStore.util.arrayEach(searchHits, function (searchHit) {
        if (searchHit.highlightResultItem != null) {
            console.log(prefix + "Highlight: \n");
            var strBuilder = ""
            for  (const [key,val]  of searchHit.highlightResultItem.highlightFields.entries()) {
                strBuilder += key + ":[";
                strBuilder += val.fragments.join(",") + "]\n";
                console.log(strBuilder);
            }
        }
        for  (const [key,val]  of searchHit.searchInnerHits.entries()) {
            console.log(prefix + "Path: " + key + "\n");
            console.log(prefix + "InnerHit: \n");
            printSearchHit(val.subSearchHits, prefix + "    ");
        }
    });
}

相關文檔

  • 關于查詢高亮功能的更多信息,請參見查詢高亮。

  • 如果要在查詢嵌套類型字段時使用查詢高亮功能,請參考嵌套類型查詢文檔。