すべてのプロダクト
Search
ドキュメントセンター

Tablestore:ワイルドカードクエリ

最終更新日:Sep 29, 2026

Tablestore SDK for Node.js のワイルドカードクエリは、* と ? の文字を使用してマッチングパターンを作成し、キーワード、テキスト、または FuzzyKeyword フィールドでそのパターンに一致するデータをクエリします。

クエリパターンが *word* (SQL の WHERE field_a LIKE '%word%' に相当) の場合、トークンベースのワイルドカードクエリ機能を使用すると、より高いパフォーマンスが得られます。データサイズが増加してもパフォーマンスは低下しません。

説明

NOT LIKE 検索を実行するには、BoolQuery の mustNotQueries パラメーターで WildcardQuery を使用します。

前提条件

パラメーター

パラメーター

説明

tableName

データテーブルの名前。

indexName

検索インデックスの名前。

offset

現在のクエリを開始する位置。

limit

現在のクエリで返す行の最大数。

queryType

クエリタイプ。このパラメーターを TableStore.QueryType.WILDCARD_QUERY に設定します。

fieldName

クエリ対象の列の名前。

value

ワイルドカード文字を含む文字列。文字列の長さは最大 32 文字です。

getTotalCount

クエリ条件に一致する行の総数を返すかどうかを指定します。デフォルトでは、このパラメーターの値は false で、クエリ条件に一致する行の総数が返されないことを示します。

getTotalCount パラメーターを true に設定すると、クエリのパフォーマンスが低下します。

columnToGet

クエリ条件に一致する各行のすべての列を返すかどうかを指定します。このパラメーターには、returnType と returnNames を設定できます。

  • returnType を TableStore.ColumnReturnType.RETURN_SPECIFIED に設定した場合は、returnNames を設定して返す列を指定する必要があります。

  • returnType パラメーターを TableStore.ColumnReturnType.RETURN_ALL に設定すると、すべての列が返されます。

  • returnType パラメーターを TableStore.ColumnReturnType.RETURN_ALL_FROM_INDEX に設定すると、検索インデックス内のすべての列が返されます。

  • returnType パラメーターを TableStore.ColumnReturnType.RETURN_NONE に設定すると、プライマリキー列のみが返されます。

例

次のサンプルコードでは、Col_Keyword の値が "table*e" という文字列に一致する行を検索します。

/**
 * Col_Keyword の値が "table*e" に一致する行をテーブルで検索します。
 */
client.search({
    tableName: TABLE_NAME,
    indexName: INDEX_NAME,
    searchQuery: {
        offset: 0,
        limit: 10, // クエリ条件に一致する行数をクエリするだけで、特定のデータを返す必要がない場合は、limit を 0 に設定します。これにより、Tablestore はテーブルから特定のデータを取得せずに、条件に一致する行数を返します。
        query: { // クエリタイプを TableStore.QueryType.WILDCARD_QUERY に設定します。
            queryType: TableStore.QueryType.WILDCARD_QUERY,
            query: {
                fieldName: "Col_Keyword",
                value: "table*e" // ワイルドカードクエリで、1 つ以上のワイルドカード文字を含む文字列を指定します。
            }
        },
        getTotalCount: true // クエリ条件に一致する行の総数を返すかどうかを指定します。デフォルトは 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, null, 2));
});

よくある質問

関連ドキュメント

  • 検索インデックスでは、term クエリ、terms クエリ、match all クエリ、match クエリ、match phrase クエリ、prefix クエリ、range クエリ、ワイルドカードクエリ、ブールクエリ、geo クエリ、nested クエリ、vector クエリ、exists クエリといったクエリタイプがサポートされています。ビジネス要件に基づいてクエリタイプを選択し、データをクエリできます。

    クエリ条件に一致する行をソートまたはページネーションする場合は、ソートとページネーション機能を使用できます。詳細については、「ソートとページネーション」をご参照ください。

    特定の列に基づいて結果セットを折りたたむ場合は、折りたたみ (distinct) 機能を使用できます。これにより、指定したタイプのデータがクエリ結果に 1 回だけ表示されるようになります。詳細については、「折りたたみ (distinct)」をご参照ください。

  • データテーブル内のデータを分析したい場合、たとえば、極値、合計、総行数を取得するなど、集計操作を実行したり、SQL ステートメントを実行したりできます。詳細については、「集計」および「SQL クエリ」をご参照ください。

  • 行をソートする必要がなく、クエリ条件に一致するすべての行を迅速に取得したい場合は、ParallelScan および ComputeSplits オペレーションを呼び出してパラレルスキャン機能を使用できます。詳細については、「パラレルスキャン」をご参照ください。