# テキスト検索

テキスト検索は、Qlik Sense で使用できる主な検索方法です。フィールド内の値を検索するには、引用符、ワイルドカード、および修飾子を使用します。検索文字列が入力されると、Qlik Sense は項目値をフィルタリングし、一致したアイテムを表示します。

テキスト検索は 2 つの検索モードに分かれます:

* 通常検索

* ワイルドカード検索

テキスト検索内の検索モード

| 検索タイプ | 説明 | 例 | 対応しているデータ型 |
| --- | --- | --- | --- |
| 通常検索 | プラスとマイナス修飾子を含むテキストを使用する | ACME -Inc | 文字またはテキスト文字列、数値、デュアル値 |
| ワイルドカード検索 | ワイルドカードを含み、プラスとマイナス修飾子を除外したテキストを使用する | \*company | 文字またはテキスト文字列、数値、デュアル値 |

## 通常検索

通常テキストにはワイルドカードが含まれませんが、プラスとマイナス修飾子は含むことができます。通常検索はインタラクティブにのみ使用でき、set 分析数式内の検索では使用できません。

標準検索を実行すると、検索文字列に一致する文字列が表示されます。複数の文字列を空白で区切って使用すると、それぞれの文字列が個別の検索文字列と解釈され、その文字列のいずれかを含むすべての項目値が表示されます。

単一の検索文字列を使用した通常テキスト検索 (引用符なし)

単一の検索文字列を使用した通常テキスト検索 (引用符なし)

単一の検索文字列を使用した通常テキスト検索 (引用符なし) ![単一文字列「ab」のテキスト検索と結果。引用符は使用されず、結果が表示されます。](https://help.qlik.com/ja-JP/cloud-services/Subsystems/Hub/Content/Resources/Images/ui_TextSearchResults-one-string.png)

スペースで区切られた 2 つの検索文字列を使用した通常テキスト検索 (引用符なし)

スペースで区切られた 2 つの検索文字列を使用した通常テキスト検索 (引用符なし)

スペースで区切られた 2 つの検索文字列を使用した通常テキスト検索 (引用符なし) ![スペースで区切られた「abc」と「solution」の 2 つの個別の文字列のテキスト検索。引用符は使用されず、結果が表示されます。](https://help.qlik.com/ja-JP/cloud-services/Subsystems/Hub/Content/Resources/Images/ui_TextSearchResults-two-strings.png)

情報メモ

クライアントとエンジンの検索入力の処理方法に違いがあるため、標準的なスペース文字のみが、単語境界トークンとして完全にサポートされる唯一の区切り文字です。その区切り文字もエンジン側ではサポートされ、有効な単語境界トークンとして解釈される場合がありますが、クライアント側の入力制限により使用できません。

これらのクライアント側の制限は、クライアントが入力されたテキスト文字列を文字単位で (ASCII 限定の正規表現を使用して) 解析および構造化し、これらを分離された検索可能な単語に変換できるようにするために必要です。

単語境界分類子の実際の解釈は、Unicode を介して ICU ライブラリによって提供されるルールベースの分類であり、システム言語の設定に大きく依存します。

通常テキスト検索の例

| 例 | 結果 |
| --- | --- |
| "orange juice" | “orange juice” という文字列全体が含まれる項目値のみを検索します。「[引用符](https://help.qlik.com/ja-JP/cloud-services/Subsystems/Hub/Content/Sense_Hub/Selections/SelectionsToolbar/text-search-selections-visualizations.htm#Quotati)」を参照してください。 |
| orange juice | 引用符がなければ、 “orange” または “juice” のいずれかが含まれる項目がすべて表示されます。 |
| +orange +juice | “orange juice”, “orange and apple juice” や “juice from oranges” のような結果が返されます。「[プラス修飾子 (+)](https://help.qlik.com/ja-JP/cloud-services/Subsystems/Hub/Content/Sense_Hub/Selections/SelectionsToolbar/text-search-selections-visualizations.htm#Plus)」を参照してください。 |
| -orange ‑juice | orange や juice を含む結果は除外されます。「[マイナス修飾子 (-)](https://help.qlik.com/ja-JP/cloud-services/Subsystems/Hub/Content/Sense_Hub/Selections/SelectionsToolbar/text-search-selections-visualizations.htm#Minus)」を参照してください。 |

### 引用符

別々の検索文字列を、1 つの文字列として解釈させたい場合、二重引用符 (" ") で囲み、文字列を 1 つにまとめます。

単一の検索文字列を使用したテキスト検索 (引用符で囲まれたもの)

単一の検索文字列を使用したテキスト検索 (引用符で囲まれたもの)

単一の検索文字列を使用したテキスト検索 (引用符で囲まれたもの) ![引用符ありの、単一の文字列「abc solution」のテキスト検索。結果には、検索文字列全体を含む項目のみが表示されます。 この場合、結果は「ABC Solutions」のみとなります。](https://help.qlik.com/ja-JP/cloud-services/Subsystems/Hub/Content/Resources/Images/ui_TextSearchResults-one-string-quotes.png)

### 修飾子

修飾子を使用すると、特定の条件を満たす値を含めたり除外したりして、検索結果を絞り込むことができます。

次の 2 種類の修飾子を使用できます。

* プラス修飾子 (+)

* マイナス修飾子 (-)

#### プラス修飾子 (+)

プラス修飾子を使用して、一致するアイテムには、プラス記号の付いた文字列が含まれる必要があるという条件を設定します。ただし、文字列は必ずしも隣り合っている必要はなく、入力された順番どおりである必要もありません。

次の例では、プラス修飾子が abc の値の隣に配置されています。結果にはこの値が含まれている必要がありますが、順番は関係ありません。2 番目の文字列の solution は、この条件の範囲外であるため、結果に表示されることはあっても存在する必要はありません。

プラス修飾子 (+) を含む検索

プラス修飾子 (+) を含む検索

プラス修飾子 (+) を含む検索 ![2 つの個別の文字列の前にプラス修飾子を含む検索。具体的には、「+abc solution」の値が検索されます。実際の検索には引用符は含まれません。](https://help.qlik.com/ja-JP/cloud-services/Subsystems/Hub/Content/Resources/Images/ui_SearchResults-plus-modifier-ex-1.png)

#### マイナス修飾子 (-)

検索用語の前にマイナス修飾子を配置すると、そのテキストを含む検索結果は除外されます。

この例では、「solution」という単語の前にマイナス記号を配置することで、この文字列を含むすべての値が結果から削除されています。

マイナス修飾子 (-) を使用した検索文字列

マイナス修飾子 (-) を使用した検索文字列

マイナス修飾子 (-) を使用した検索文字列 ![マイナス修飾子を使用した検索。具体的には、「-solution」の値が検索されます。実際の検索には引用符は含まれません。](https://help.qlik.com/ja-JP/cloud-services/Subsystems/Hub/Content/Resources/Images/ui_SearchResults-minus-modifier.png)

#### 修飾子の組み合わせ

マイナス修飾子とプラス修飾子を、1 回の検索で組み合わせることができます。この例では、「solution」の文字列を含む値は除外され、値が結果に表示されるためには「abc」の文字列が存在する必要があります。

マイナス修飾子とプラス修飾子を組み合わせた検索

マイナス修飾子とプラス修飾子を組み合わせた検索

マイナス修飾子とプラス修飾子を組み合わせた検索 ![マイナス修飾子とプラス修飾子の両方を使用した検索。具体的には、「-solution +abc」の値が検索されます。実際の検索には引用符は含まれません。](https://help.qlik.com/ja-JP/cloud-services/Subsystems/Hub/Content/Resources/Images/ui_SearchResults-minus-plus-modifiers.png)

## ワイルドカード検索

ワイルドカード検索では、テキスト検索の柔軟性を高めることができます。ワイルドカード検索はインタラクティブな状況で、set 分析と併用できます。ワイルドカード検索にプラスまたはマイナス修飾子を含めることはできません。

検索文字列では 1 つまたは複数のワイルドカードを使用できます。次のワイルドカードを使用できます。

* \* ワイルドカード

* ? ワイルドカード

* ^ ワイルドカード

ワイルドカードテキスト検索の例

| 例 | 結果 |
| --- | --- |
| a\* | “a” の文字で始まるすべての値を検索します (最初の語が “a” で始まる、複数の単語から成る文字列を含めて)。 |
| \*b | “b” の文字で終わるすべての値を検索します (最後の語が “b” で終わる、複数の単語から成る文字列を含めて)。 |
| \*c\* | “c” の文字を含むすべての値を検索します (いくつかの語から成る文字列を含めて)。 |
| \*^ab\* | “ab” で始まる語を含むすべての値を返します。<br><br><br>“ab” の通常の検索と同じですが、通常の検索とは異なり、ワイルドカードを使用したより複雑な絞り込みも可能です。Set 分析など、プログラム検索でも使用できます。 |
| r?ck | “r” で始まり、間に任意の文字をはさんで “ck” で終わる、4 文字の値をすべて検索します (“rack”, “rick”, “rock” や “ruck” など)。 |
| r?? ????d | “r” で始まる 3 文字の単語、および “d” で終わる 5 文字の単語に相当する値をすべて検索します。 |

情報メモワイルドカードを使用すると、検索文字列全体と一致するレコードのみが表示され、空白が論理和 (OR) と解釈されることはありません。検索文字列 '\*creamed' は、"Rocky's creamed corn" に一致するとはみなされません (“creamed” で終わっていないため)。また “creamed\*” も、"Rocky's creamed corn" に一致するとはみなされません (“creamed” で始まっていないため)。

情報メモ検索文字列にスペースが含まれていると、異なる結果となります。例えば “\*corn” で検索した場合には、“popcorn” で終わるものだけでなく “corn” で終わる文字列も検出されますが、“\* corn” のように検索文字列にスペースを含めると、“corn” で終わる文字列のみが返されます。

#### \* ワイルドカード

\* ワイルドカードは、スペースを含む 0 文字以上の文字の代わりに使用されます。このワイルドカードには柔軟性があり、特定の位置の任意の文字または文字の塊と一致します。

この例では、「company」の文字列で始まるすべての値が結果に表示されます。

定義された文字の後に \* ワイルドカードを使用した検索文字列

定義された文字の後に \* ワイルドカードを使用した検索文字列

定義された文字の後に \* ワイルドカードを使用した検索文字列 ![複数の定義された文字の後に * ワイルドカードを使用した検索。このワイルドカードを「Company」という単語の後に配置すると、この単語で始まるすべての値が返されます。実際の検索には引用符は含まれません。](https://help.qlik.com/ja-JP/cloud-services/Subsystems/Hub/Content/Resources/Images/ui_SearchResults-wildcard-asterisk-example1.png)

ここでは、「company」の文字列で終わるすべての値が結果に表示されます。

定義された文字の前に \* ワイルドカードを使用した検索文字列

定義された文字の前に \* ワイルドカードを使用した検索文字列

定義された文字の前に \* ワイルドカードを使用した検索文字列 ![複数の定義された文字の前に * ワイルドカードを使用した検索。このワイルドカードを「Company」の単語の前に配置すると、この単語で終わるすべての値が返されます。実際の検索には引用符は含まれません。](https://help.qlik.com/ja-JP/cloud-services/Subsystems/Hub/Content/Resources/Images/ui_SearchResults-wildcard-asterisk-example2.png)

文字列の前後に \* ワイルドカードを配置すると、この文字列を含むすべての値が結果に含まれます。

定義された文字の前後に \* ワイルドカードを使用した検索文字列

定義された文字の前後に \* ワイルドカードを使用した検索文字列

定義された文字の前後に \* ワイルドカードを使用した検索文字列 ![「Company」という単語を * ワイルドカードで囲んだ検索。この方法でワイルドカードを構成すると、この単語を含むすべての値が返されます。実際の検索には引用符は含まれません。](https://help.qlik.com/ja-JP/cloud-services/Subsystems/Hub/Content/Resources/Images/ui_SearchResults-wildcard-asterisk-example3.png)

#### ? ワイルドカード

?ワイルドカードは、スペースを含む単一の文字の代わりに使用されます。このワイルドカードは、スペルに自信がなく文字列にスペルの間違いが含まれているかもしれない場合、あるいは正確に入力するのが難しい特殊な文字や記号が文字列に含まれている場合に役に立ちます。

このワイルドカードは、文字列内のすべての文字に置き換えることも、定義された文字と組み合わせて使用することもできます。

? を使用した検索文字列すべての文字のワイルドカード記号

? を使用した検索文字列すべての文字のワイルドカード記号

? を使用した検索文字列すべての文字のワイルドカード記号 ![? を使用して検索すべての検索文字用のワイルドカード。この場合、検索に含まれる同じ文字数を持つすべての値が結果に表示されます (例: 「ABC Solution」。](https://help.qlik.com/ja-JP/cloud-services/Subsystems/Hub/Content/Resources/Images/ui_SearchResults-wildcard-question-example1.png)

? を使用した検索文字列定義された 3 文字の後のワイルドカード記号

? を使用した検索文字列定義された 3 文字の後のワイルドカード記号

? を使用した検索文字列定義された 3 文字の後のワイルドカード記号 ![? を使用して検索最初の文字「ABC」を除く、すべての検索文字に対するワイルドカード (実際の検索では引用符は使用されません)。この場合、「ABC Solution」という 1 つの結果が表示されます。](https://help.qlik.com/ja-JP/cloud-services/Subsystems/Hub/Content/Resources/Images/ui_SearchResults-wildcard-question-example2.png)

#### ^ ワイルドカード

^ ワイルドカードは、項目値内の単語の先頭にある文字で値をフィルタリングするために使用されます。このワイルドカードは、他のワイルドカードと組み合わせてのみ使用されます。

この例では、「\*^a\*」の検索文字列は、「a」の文字で始まる文字列を含むすべての値を返します。

^ と \* のワイルドカードを使用した検索文字列

^ と \* のワイルドカードを使用した検索文字列

^ と \* のワイルドカードを使用した検索文字列 ![異なる 2 種類のワイルドカードを組み合わせた検索。](https://help.qlik.com/ja-JP/cloud-services/Subsystems/Hub/Content/Resources/Images/ui_SearchResults-caret-example.png)