多元索引支持TermQuery和TermsQuery两种精确查询方式。

TermQuery

TermQuery采用完整精确匹配的方式查询表中的数据,但是对于分词字符串类型,只要分词后有词条可以精确匹配即可。

比如某个分词字符串类型的字段,值为“tablestore is cool”,假设分词后为“tablestore”、“is”、“cool”三个词条,则查询“tablestore”、“is”、“cool”时都满足查询条件。

query = TermQuery('k', 'key000')
rows, next_token, total_count, is_all_succeed = client.search(
    table_name, index_name, 
    SearchQuery(query, limit=100, get_total_count=True), 
    ColumnsToGet(return_type=ColumnReturnType.ALL)
)

TermsQuery

多字段精确查询。类似于TermQuery,TermsQuery支持设置多个Term,查询匹配这些Term的数据。

query = TermsQuery('k', ['key000', 'key100', 'key888', 'key999', 'key908', 'key1000'])
rows, next_token, total_count, is_all_succeed = client.search(
    table_name, index_name, 
    SearchQuery(query, limit=100, get_total_count=True), 
    ColumnsToGet(return_type=ColumnReturnType.ALL)
)