Windchill の基本操作 > Windchill のサーチ機能 > サーチの参照 > ワイルドカードのサーチ
  
ワイルドカードのサーチ
* 
次のトピックは、「サーチモード」プリファレンスが「単純」に設定されている場合にのみ該当します。これがデフォルト値です。「アドバンス」モードサーチの詳細については、アドバンスモードのサーチを参照してください。
ワイルドカード文字により、不正確または可変部分を含むサーチ文字列を指定し、サーチ結果の範囲を広げることができます。これは、データベースサーチを実行する場合に特に便利です。
ワイルドカードの使用は、テキスト文字列を入力する必要があるどのサーチフィールドでも可能です。ワイルドカードは、インデックス付きサーチとインデックスなしサーチの両方に使用できます。
キーワードサーチでのスペースおよび複数のワイルドカードの使用
ワイルドカードのエスケープ文字の使用
キーワードによるインデックス付きサーチ固有のワイルドカード動作


使用可能なワイルドカードは以下のとおりです。
* (アスタリスク)
アスタリスクは 0 個以上の文字に置き換えられます。
「名前」: ABC*
結果には以下のオブジェクト名が含まれます。
ABC
ABC DEF GHI
ABC–DEF.GHI
「名前」: *ABC
結果には以下のオブジェクト名が含まれます。
ABC
123ABC
123 456 ABC
「名前」: *ABC*
結果には以下のオブジェクト名が含まれます。
ABC
123ABCDEF
ABCDEF
123ABC
? (疑問符)
疑問符は、サーチで返されるオブジェクトコンテンツまたは属性値の 1 文字に置き換えられることがほとんどです。
「名前」: 12?4
結果には以下のオブジェクト名が含まれます。
1234
12A4
「名前」: ??345
結果には以下のオブジェクト名が含まれます。
12345
AB345
「名前」: ABC 12?*
結果には以下のオブジェクト名が含まれます。
ABC 123
ABC 123_45
ABC 123 456
* 
前の例を「名前」フィールドに入力すると、結果としてデータベースサーチが示されます。
キーワードサーチ (特に Windchill Index Search を使用する場合) の動作は異なる場合があります。詳細については、以下のキーワードによるインデックス付きサーチ固有のワイルドカード動作のセクションを参照してください。


キーワードサーチでのスペースおよび複数のワイルドカードの使用
1 つのキーワードまたは属性値サーチに複数のワイルドカードを使用できます。たとえば、「p?* d?s*」と入力すると、"Part Design" という名前のオブジェクトが返されます。
ただし、1 つのキーワード文字列に複数のワイルドカードサーチ用語を入力した場合、サーチは失敗します。これは通常、キーワード用語間に不要なスペースがあることが原因です。
* 
インデックスなしサーチを実行する場合、文字列と文字列の間のアスタリスク (*) はスペースともマッチします。
例として、"PartDesign ABC-123" という名前のオブジェクトで、以下のキーワードサーチを実行する場合について考えてみましょう。
キーワード: ?a*De*?BC*
インデックスサーチ - 成功
インデックスなしサーチ - 成功
どちらのタイプのキーワードサーチでも PartDesign ABC-123 がサーチ結果に含まれます。
キーワード: ?a*De*?BC*
インデックスサーチ - 失敗
インデックスなしサーチ - 失敗
「?a*」「De*」の間にスペースがあるため、いずれのサーチも失敗します。
Windchill では「?a*」「De*」が 2 つの異なるサーチパラメータとして処理されるため、2 つの文字列 (例: "Part Design") が返ることになります。
しかし、"PartDesign" は単一の文字列です。これによって競合が発生し、サーチが失敗します。
キーワード: ?a*De*?BC*
インデックスサーチ - 失敗
「?a*De*」 ("PartDesign") と「?BC*」 (ABC-123) の間のスペースを除去したため、このサーチは失敗します。インデックスサーチを実行している場合、ワイルドカードを使用して文字列間のスペースを表すことはできません。
Windchill Index Search でスペースはインデックシングされません。スペースはデータを異なるキーワード文字列に分割するときにのみ使用されます。たとえば、"PartDesign ABC-123" は次の文字列としてインデックシングされます。
PartDesign
ABC
ABC-
-123
123
このサーチでは、"Design<スペース>ABC" を表すため、De*?BC でアスタリスク文字が使用されています。しかし、"Design<スペース>ABC" 内のスペースを表すことができるものはインデックス内にないので、WindchillDe*?BC をインデックシングされたキーワード文字列と正確に対応付けることができません。代わりに、Windchill「?a*De*?BC*」を 1 つのテキスト文字列 ("PartDesignABC-123" など) と照合しようとします。
インデックスなしサーチ - 成功
Windchill のデータベースサーチではスペースが文字どおり解釈されるので、テキスト文字列を区切るスペースも認識されます。たとえば、"PartDesign ABC-123" は次の文字列として Windchill サーチデータベースに保存されます。
PartDesign<スペース>ABC-123
PartDesign
ABC-123
オブジェクト名でインデックスなしサーチを実行する場合、キーワード用語には値フィールド内のすべての文字 (スペースを含む) を指定する必要があります。そのためには、リテラルキーワードを入力するか、ワイルドカードを使用します。


ワイルドカードのエスケープ文字の使用
ワイルドカード文字が含まれる文字列を検索する必要がある場合があります。ワイルドカード文字をエスケープするには、円マーク文字 (\) を入力します。
属性サーチまたはキーワードによるインデックスなしサーチを実行する場合:
サーチ文字列のワイルドカード文字をそのままサーチするために、ワイルドカード文字の前に円マーク (\) を入力します。
たとえば、属性値 123?456 を持つオブジェクトをサーチするには、「123\?456」と入力します。このように入力しないと、疑問符 (?) がほかの文字に置き換えられてオブジェクトの検索が試みられます (例: 123X456)。
インデックシングがインストールされて有効になっている状態でキーワードサーチを実行する場合:
インデックス付きサーチを実行する場合にワイルドカードの前に円マーク (\) を入力すると、Windchill では両方の文字が無視されます。Windchill ではワイルドカード文字がインデックス付けされないため、リテラルワイルドカード文字を含むキーワードサーチを実行する理由がありません。
たとえば、123?456123 および 456 とインデックス付けされます。そのため、123?456 をキーワードとして入力すると、サーチは失敗してオブジェクトは返されません。1 つのキーワード文字列の中の疑問符が別の文字に置き換えられてサーチが実行されるからです (例: 123X456 または 1239456)。
ただし、123\?456 をサーチ用語として入力すると、円マークと疑問符の両方が無視され、123 および 456 がサーチされます。サーチ結果には 123?456 が含まれるとともに、インデックス付けされたキーワードとして 123456 の両方を持つほかのオブジェクトも含まれます。詳細については、キーワード内の特殊文字を参照してください。


キーワードによるインデックス付きサーチ固有のワイルドカード動作
基本的に、Windchill には 2 種類のインデックス付きサーチがあります。キーワードサーチデータベースサーチです。詳細については、キーワードサーチの規則を参照してください。
以下の規則は、Windchill Index Search がインストールされて有効になっており、キーワードサーチ (「キーワード」フィールドを使用するグローバルサーチまたはアドバンスサーチ) を実行する場合のみ適用されます。
キーワード変数
インデックス付きサーチの動作
先頭がアスタリスク (*)
「キーワード」フィールドまたはグローバルサーチの先頭にアスタリスク (*) を入力した場合、サーチの対象はインデックス付けされたファイルコンテンツおよびマッピングされた属性値 (デフォルトでは「名前」および「番号」) に限定されます。先頭のアスタリスクがない場合、キーワードはすべての属性フィールドに対して比較されます。
たとえば、「nitin*」をインデックス付きサーチのキーワードとして入力すると、結果には以下が含まれます。
"Nitin" が含まれているか、または "Nitin" の後に 1 つ以上の文字が続いている名前または番号を持つオブジェクト (例: "NitinDesign")
"Nitin" が含まれているか、または "Nitin" の後に 1 つ以上の文字が続いているオブジェクト (例: "Nitin0123")
"Nitin" という名前のユーザーによって作成または修正されたオブジェクト(あるいは、"Nitin" が含まれているか、または "Nitin" の後に 1 つ以上の文字が続いているほかの属性値)
「*nitin」と入力すると、以下の結果が返されます。
名前または番号に "Nitin" が含まれているか、または "Nitin" の後に 1 つ以上の文字が続いているオブジェクト (例: "01Nitin")
コンテンツファイルに "Nitin" という単語が含まれるオブジェクト
* 
コンテンツをサーチする場合、先頭のワイルドカードは無視されます。たとえば、「*ite*」のキーワードサーチを実行する場合、コンテンツファイルに "item" および "iteration" などの用語が含まれるオブジェクトが返されます。ただし、コンテンツファイルに "white" または "criteria" などの用語が含まれるオブジェクトは無視されます。
詳細については、アドバンスサーチの使用例のシナリオが示されているワイルドカードを使用したキーワードサーチを参照してください。
先頭または末尾が疑問符 (?)
キーワードサーチ文字列の先頭または末尾に疑問符 (?) がある場合、疑問符は 0 個以上の文字に置き換えられます。
たとえば、「specification?」をサーチすると、結果には "specification"、"specifications"、"SpecificationA" などが含まれます。
同様に、「?end」では "end"、"bend"、"send" が返ります。
* 
この動作はインデックス付きサーチに固有です。データベースサーチでは、疑問符は 0 個の文字の代わりにならないからです。
スペース
1 つのキーワードサーチでワイルドカードを使用した場合、ワイルドカードは複数の文字列の間の空白スペースの代わりになりません。
たとえば、「product*specification」をサーチすると、以下の結果が正常に返されます。
product001specification
product_specification
ProductSpecification
ただし、以下の結果は返されません。
Product Specification
Product001 Specification
Product%%Specification
* 
Windchill Index Search では、特殊文字がスペースとして扱われます。たとえば、"Product%%Specification" という名前のオブジェクトは、"product" および "specification" という 2 つの文字列としてインデックス付けされます。その結果、キーワード「product*specification」を使用してこのオブジェクトのサーチを行うと失敗します。
詳細については、キーワード内の特殊文字を参照してください。