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

列存在性查詢

ExistsQuery也叫NULL查詢或者空值查詢,一般用于判斷稀疏數據中某一行的某一列是否存在。例如查詢所有數據中address列不為空的行。

說明
  • 要對Nested字段進行列存在性查詢(ExistsQuery)時,請使用嵌套類型查詢(NestedQuery)進行嵌套。
  • 如果需要查詢某一列為空,則ExistsQuery需要和BoolQuery中的mustNotQueries結合使用。
  • 以下情況會認為某一列不存在,以city列為例說明。
    • city列在多元索引中的數據類型為keyword(或其他基礎類型),如果數據表中某行數據不存在city列,則多元索引認為該行數據的city列不存在。
    • city列在多元索引中的數據類型為keyword(或其他基礎類型)數組,如果數據表中某行數據的city列為空數組,即"city" = "[]",則多元索引認為該行數據的city列不存在。

前提條件

參數

參數

說明

TableName

數據表名稱。

IndexName

多元索引名稱。

Query

設置查詢類型為existsQuery。

GetTotalCount

是否返回匹配的總行數,默認為false,表示不返回。

返回匹配的總行數會影響查詢性能。

FieldName

要匹配的字段。

ColumnsToGet

是否返回所有列。包含ReturnAll和Columns以及ReturnAllFromIndex設置。

ReturnAll默認為false,表示不返回所有列。此時可以通過如下任一設置返回所需列。如果未設置Columns和ReturnAllFromIndex,則只返回主鍵列。
  • 設置Columns指定返回的列。
  • 設置ReturnAllFromIndex為true返回多元索引中的所有列。

當設置ReturnAll為true時,表示返回所有列。

示例

以下示例用于查詢所有數據中指定列不為空的行。

/// <summary>
/// 使用列存在性查詢,查詢表中pk0列的值不為空的數據。
/// </summary>
/// <param name="otsClient"></param>
public static void ExistsQuery(OTSClient otsClient)
{
    ExistsQuery existsQuery = new ExistsQuery
    {
        FieldName = "pk0"
    };

    SearchQuery searchQuery = new SearchQuery
    {
        Query = existsQuery,
        GetTotalCount = false
    };

    SearchRequest searchRequest = new SearchRequest(TableName, IndexName, searchQuery);
    SearchResponse searchResponse = otsClient.Search(searchRequest);

    Console.WriteLine(JsonConvert.SerializeObject(searchResponse));
}

常見問題

相關文檔