ユーザーヘルプ > Windchill RV&S アイテムによる変更の追跡 > アイテムの検索 > 演算子を使用したアイテムのテキスト検索の向上
  
演算子を使用したアイテムのテキスト検索の向上
Windchill RV&S の検索機能では、アイテム データベースの簡単なテキスト検索を実行できます。テキスト検索機能では、多くの一般的な Web 検索エンジンと同様の検索構文を使用します。
次の点に注意してください。
テキスト検索では、短いまたは長いテキスト フィールドの情報だけが検索されます。整数、選択肢、浮動小数点、論理、日付、ユーザー、グループなど、他のタイプのフィールド内の情報は取得されません。
!#[]@ などの記号は無視されます。ただし、Windchill RV&S 管理者は、検索に含めることができる限定的なセットを構成することもできます。検索で使用できるように構成した記号については管理者に問い合わせてください。
検索では、大文字と小文字が区別されません。たとえば、java と指定した場合は、javaJavaJAVA が含まれたアイテムが返されます。
単語を追加すると、検索結果が拡大するのではなく、絞り込まれます。つまり、文字列内の単語のいずれかを含んだアイテムではなく、文字列内の単語をすべて含んだアイテムが Windchill RV&S によって検索されます。
テキスト検索は、基となるデータベースに大きく依存します。検索で繰り返し問題が発生する場合は、Windchill RV&S 管理者に確認してください。
検索でエラーがあると、アイテムは返されません。
リッチ コンテンツ フィールドの場合、テキスト検索の結果は、リッチ コンテンツ フィールドからのみ返されます。リッチ コンテンツ フィールドの HTML 要素または HTML 属性を検索することはできません。
サポートされているデータベースでテキスト検索とテキスト検索の演算子がどのように扱われるかの詳細については、データベースのマニュアルを参照してください。
テキスト検索の演算子
検索機能は、検索を拡張するために次の演算子を使用したフル テキスト検索をサポートしています。
演算子
説明
“”
正確に一致する語句を検索します。つまり、Windchill RV&S は、空白や句読点で区切られた一連の単語を照合します。
たとえば、「“medical device”」と指定した場合は、medical device が含まれたアイテムが返されますが、medical devices が含まれたアイテムは返されません。
AND
複数の語句を検索します。
たとえば、「“battery life” AND “battery size”」と指定した場合は、いずれか一方ではなく両方の単語が含まれたアイテムが返されます。
* 
多くのデータベースは、検索テキスト内の athe などの一般的な単語を無視します。一般的な単語の前に AND を置いて、検索にその単語を含めることができます。+ 記号を使用して AND 演算子を表すこともできます。
OR
いずれかの語句を検索します。
たとえば、“MD5000” OR “MD5002” と指定した場合は、MD5000 または MD5002 が含まれたアイテムが返されます。
* 
複数の OR 演算子を使用すると、テキスト検索にかかる時間が長くなる場合があります。
-
検索から語句を除外します。
たとえば、「“product lifecycle” -management」と指定した場合は、product lifecycle が含まれたアイテムが返されますが、product lifecycle management が含まれたアイテムは返されません。
* 
- 演算子は、引用符で囲まれている場合とその直前に空白がない場合は無視されます。
次に例を示します。
word1-word2 と指定した場合は、word1 word2 が検索されます。
その一方で次のようにもなります。
word1<space>-word2 と指定した場合は、word1 が検索されますが、word2 は検索されません。
~
指定された単語と似ている単語を検索します (あいまい検索と呼ばれます)。スペルが正しくない単語も考慮に入れられます。
たとえば、~applied と指定した場合は、appliedappliesapply が含まれたアイテムが返されます。
*
指定された単語について考えられる組み合わせを検索します (ワイルドカード代入と呼ばれます)。
たとえば、except* と指定した場合は、exceptional および exception が含まれたアイテムが返されます。
* 
ワイルドカードの使用方法は、基となるデータベースに応じて変わります。たとえば、MS SQL では * をサフィックスとしてだけ使用できますが、Oracle では * を単語のプレフィックスまたはサフィックスとして使用できます。
LIKE
指定した語句と一致するすべての文字を検索します。テキスト フィールドで特定の文字パターンを検索する場合 (ハードウェア部品のシリアル番号を検索する場合など) に便利です。
* 
LIKE 演算子はインデックスを使用せずに検索を実行するため、検索に時間がかかり、Windchill RV&S Server のパフォーマンスに影響します。特定の単語を検索する場合は、LIKE 演算子を使用しないでください。特定の単語を検索するためのテキスト文字列を指定できないとき、ただし、英数字でない文字で構成される単語を検索する必要がある場合に、LIKE 演算子を使用してください。LIKE 演算子によるテキスト検索のパフォーマンスを向上させるには、特定のフィルタをクエリーに追加して、Windchill RV&S が処理するアイテムの量を減らすようにしてください。たとえば、アイテム タイプのみでのフィルタではテキスト検索のパフォーマンスが不十分な場合に、特定のフィルタをクエリーに追加します。特定のフィルタを追加すると、クエリーを使用してデータベース内で既存のインデックスを検索することもできます。
たとえば、LIKEw1<space>w2 と指定した場合は、文字 w1<space>w2 がテキスト フィールドの任意の場所で検索されます。LIKE 検索演算子には単語という概念がないため、w1<space><space>w2 と指定した場合、一致するアイテムは返されません。
また、LIKE “w1<space>w2” と指定した場合は、文字 w1<space>w2 がテキスト フィールドの任意の場所で照合されます。
* 
スペース、*、および " " は指定した文字列で検索対象の文字として扱われます。
使用するインタフェースによって入力内容が異なる場合があります。たとえば、GUI で LIKE "w1 w2" と入力した場合は、文字列 w1<space>w2 に一致します。CLI では、二重引用符を 2 回エスケープする必要があります。1 回目のエスケープはコマンドを実行しているシェル用、2 回目のエスケープはベースのクエリー定義パーサー用です (LIKE 演算子が二重引用符で囲まれるためです)。
テキスト検索がインストールされておらず有効になっていないデータベースはサポートされていません。テキスト クエリの結果は不定になります。
テキスト フィールドの履歴検索 (履歴値でのクエリー フィルタ)、およびクエリーの履歴評価 (クエリーに結び付けられた関連フィールドで検索され、履歴情報のフェッチにより実行される、テキスト フィールドに対するクエリー フィルタ) は、LIKE 演算子のように実行されます。これらのインスタンス内の文字列の先頭に LIKE 演算子を追加しても、その演算子は無視されます。
検索は、Windchill RV&S データベースの構成に基づいて大文字と小文字の区別が異なります。
プロジェクト フィルタを使用したテキストの検索
GUI では、テキスト検索を実行するときにプロジェクト フィルタも適用できます。たとえば、文字列「null pointer exception」が含まれるアイテムを SourceCode プロジェクト内で検索できます。
Web UI では、フィルタを使用して特定のプロジェクトのアイテムを表示してから (詳細については、アイテムのフィルタを参照)、その結果に対してテキスト検索を実行できます。