1 つ以上の Verity コレクションを検索します。
cfsearch タグによって検索結果が返されるようにするには、コレクションを作成し、これにインデックスを作成しておく必要があります。
コレクションは、次の方法で作成できます。
cfcollection タグを使用します。
ネイティブの Verity ツールを使用してコレクションを作成する場合は、コレクションを登録する必要があります。コレクションを ColdFusion で登録するには、次の方法を使用できます。
cfcollection タグを使用します。
コレクションには、次の方法でインデックスを作成できます。
cfindex タグを使用します。
cfindex タグを呼び出します。
詳細については、『ColdFusion MX 開発ガイド』の検索インターフェイスの構築を参照してください。
<cfsearch
name = "search_name"
collection = "collection_name"
category = "category[,category2,...]"
categoryTree = "tree_location"
status = ""
type = "criteria"
criteria = "search_expression"
maxRows = "number"
startRow = "row_number"
suggestions = "suggestion_option"
contextPassages = "number_of_passages"
contextBytes = "number_of_bytes"
contextHighlightBegin = "html_string"
contextHighlightEnd = "html_string"
previousCriteria = "criteria"
language = "language">
cfcollection、cfexecute、cfindex、cfobject、cfreport、cfwddx
ColdFusion MX 7:
category、categoryTree、status、suggestions、contextPassages、contextBytes、contextHighlightBegin、contextHighlightEnd、および previousCriteria の各属性が追加されました。
author、category、categoryTree、context、rank、size、recordsSearched、および type の各結果列が追加されました。
cflock の推奨事項が変更されました。cfsearch タグを cflock タグで囲むことは推奨事項ではなくなりました。
ColdFusion MX:
external 属性は使用禁止になりました。今後のリリースではこのタグは機能せずエラーを引き起こす可能性があります。各コレクションが内部コレクションか外部コレクションであるかは自動的に検出され、この情報は保管されます。このタグでは、絶対 (完全修飾) コレクションパス名およびマップ済みコレクション名がサポートされます。
cfindex タグを使用して、cfsearch オペレーションによるクエリー結果のインデックスを作成できます。
| 属性 |
必須/ オプション |
デフォルト | 説明 |
|---|---|---|---|
|
name |
必須 |
|
検索クエリーの名前です。 |
|
collection |
必須 |
|
1 つ以上のコレクション名です。カテゴリ検索を実行 ( |
|
category |
オプション |
|
検索の条件として使用する、カンマで区切られたカテゴリのリストです。このレベルを指定しても、コレクションでカテゴリが有効でない場合、ColdFusion は例外を返します。 |
|
categoryTree |
オプション |
|
カテゴリの階層ツリー上の、検索を開始する位置です。ColdFusion では、このレベル以下を対象に検索が行われます。このレベルを指定しても、コレクションでカテゴリが有効でない場合、ColdFusion は例外を返します。 |
|
status |
オプション |
|
ColdFusion での検索情報の配置先となる構造体変数の名前を指定します。検索情報には、代替検索条件の提案 (スペルの修正) などが含まれます。この構造体のキーのリストについては、ステータス構造体キーを参照してください。 |
|
type |
オプション |
simple |
Verity で条件を処理する際に使用するパーサーを指定するために使用します。
詳細については、『ColdFusion MX 開発ガイド』のVerity 検索式の使用を参照してください。Verity ドキュメントも参照してください。 |
|
criteria |
オプション |
|
検索条件です。 |
|
maxRows |
オプション |
すべて |
クエリー結果に返される行の最大数です。 |
|
startRow |
オプション |
1 |
取得する最初の行番号です。 |
|
suggestions |
オプション |
never |
スペルの誤りがある単語について Verity がスペル提案を返すかどうかを指定します。次のオプションのいずれかを使用します。
提案データを取り出す際には、パフォーマンスが若干低下します。 |
|
contextPassages |
オプション |
0 |
Verity がコンテキスト要約 (結果の |
|
contextBytes |
オプション |
300 |
Verity がコンテキスト要約に返す最大バイト数です。 |
|
contextHighlightBegin |
オプション |
<b> |
コンテキスト要約で検索語の先頭に追加する HTML です。この属性を |
|
contextHighlightEnd |
オプション |
</b> |
コンテキスト要約で検索語の末尾に追加する HTML です。この属性を |
|
previousCriteria |
オプション |
|
検索結果の既存セットの結果セット名です。Verity は、前の検索スコアやランクに関係なく、 |
|
language |
オプション |
english |
使用禁止です。この属性は、無視されるようになりました。コレクションの言語は、検索を実行するために使用されます。 |
cfsearch タグは、cfoutput タグ内の参照可能な列を持つクエリーオブジェクトを返します。たとえば、次のコードでは、"filming" または "filmed" に完全一致する用語の検索が指定されます。
<cfsearch
name = "mySearch"
collection = "myCollection"
criteria = '<WILDCARD>`film{ing,ed}`'
type="explicit"
startrow=1 maxrows = "100"> <cfdump var = "#mySearch#>
この例では、一重引用符 (') およびバックティック (`) が区切り文字として使用されています。詳細については、『ColdFusion MX 開発ガイド』のVerity 検索式の使用を参照してください。
検索のパフォーマンスを最適化するには、常に maxrows 属性を指定し、使用するアプリケーションの要件に応じた値に設定してください。値を 300 未満に設定すると、最適なパフォーマンスが得られます。
cflock タグをこのタグと共に使用しないでください。Verity にはロック機能が用意されています。cflock タグを使用すると、検索のパフォーマンスが低下します。
| 変数です。 | 説明 |
|---|---|
context |
デフォルトでボールドで強調表示された検索語を含むコンテキスト要約です。 |
url |
コレクションへの挿入に使用される |
key |
コレクションへの挿入に使用される |
title |
PDF ドキュメントや Office ドキュメントのタイトルなど、コレクションへの挿入に使用される |
score |
検索条件に基づいた、ドキュメントの関連性の値です。 |
custom1、custom2、 custom3、custom4 |
コレクションへの挿入に使用される |
size |
インデックスドキュメントのバイト数です。 |
rank |
検索結果におけるこのドキュメントのランクです。 |
author |
可能な場合に HTML、Office、および PDF ドキュメントから抽出されます。 |
type |
ドキュメントの MIME タイプです。 |
category |
このドキュメントのインデックス作成時に指定されたカテゴリのリストです。 |
categoryTree |
このドキュメントのインデックス作成時に指定された、カテゴリの階層ツリーまたはカテゴリのシリアルリストです。単一のツリーだけが返されます。 |
summary |
|
recordCount |
レコードセットに返されるレコードの数です。 |
currentRow |
|
columnList |
レコードセット内の列名のリストです。 |
recordsSearched |
検索されたレコードの数です。これは、レコードセット内の各行について同じ値です。ステータス構造体内の |
| 変数です。 | 説明 |
|---|---|
found |
検索条件に合致するドキュメントの数です。 |
searched |
検索されたドキュメントの数です。検索結果の |
time |
検索に要した時間 (ミリ秒単位) です。Verity K2 検索サービスによりレポートされます。 |
suggestedQuery |
Verity によって推奨される代替クエリーです。より適切な結果が得られる場合があります。検索語に関するスペルの誤りを修正することもあります。 |
keywords |
基本設定の順序に最大 5 つの代替用語を設定可能な配列へのキーワードとなる検索語を含む構造体です。 |
keywordScore |
Verity で報告される 0 ~ .99 の重みづけ値も含むこと以外は、keywords の場合と同じ形式の構造体です。数値が大きければ、結果も高品質になります。 |
エラーを引き起こす可能性があるアプリケーションユーザーが Verity コレクション内で、通常エラーとなる標準外の文字列、単語、または文字 ("AB23.45.67" や "--->"など) を検索できるようにするため、これらの要素をリストして Verity でのそれらの形式を定義したテキストファイルを作成できます。このファイルには style.lex と名前を付け、コピーを次のディレクトリに置きます。
マルチサーバー設定および J2EE 設定の場合は、Verity を別のディレクトリにインストールします。
メモ: 山括弧 (< または >) などの文字を検索するには、criteria 属性値として "<:" や "<:" などを使用する必要があります。括弧は Verity で予約されており、文字のエスケープにバックスラッシュ (criteria="¥<") を使用したとしても、このコンテキストでは機能しません。詳細については、『ColdFusion MX 開発ガイド』のVerity 検索式の使用を参照してください。
<!--- #1 (TYPE=SIMPLE) ----------------------------->
<cfsearch
name="name"
collection="snippets,syntax,snippets"
criteria="example"
maxrows = "100">
<p>
<cfoutput>Search Result total = #name.RecordCount# </cfoutput><br>
<cfoutput>
url=#name.url#<br>
key=#name.key#<br>
title=#name.title#<br>
score=#name.score#<br>
custom1=#name.custom1#<br>
custom2=#name.custom2#<br>
summary=#name.summary#<br>
recordcount=#name.recordcount#<br>
currentrow=#name.currentrow#<br>
columnlist=#name.columnlist#<br>
recordssearched=#name.recordssearched#<br>
</cfoutput>
<cfdump var = #name#>
<br>
<!--- #2 (TYPE=EXPLICIT) ----------------------------->
<cfsearch
name = "snippets"
collection = "snippets"
criteria = '<wildcard>`film{ing,ed}`'
type="explicit"
startrow=1
maxrows = "100">
<cfoutput
query="snippets">
url=#url#<br>
key=#key#<br>
title=#title#<br>
score=#score#<br>
custom1=#custom1#<br>
custom2=#custom2#<br>
summary=#summary#<br>
recordcount=#recordcount#<br>
currentrow=#currentrow#<br>
columnlist=#columnlist#<br>
recordssearched=#recordssearched#<br>
</cfoutput>
<cfdump var = #snippets#>
<br>
<!--- #3 (CF key による検索) ----------------------------->
<cfsearch
name = "book"
collection = "custom_book"
criteria = "cf_key=bookid2"
maxrows = "100">
<cfoutput>
url=#book.url#<br>
key=#book.key#<br>
title=#book.titleE#<br>
score=#book.score#<br>
custom1=#book.custom1#<br>
custom2=#book.custom2#<br>
summary=#book.summary#<br>
recordcount=#book.recordcount#<br>
currentrow=#book.currentrow#<br>
columnlist=#book.columnlist#<br>
recordssearched=#book.recordssearched#<br>
</cfoutput>
<cfdump var = #book#>
ColdFusion MX 7 | ColdFusion MX 6.1 | ColdFusion MX* | ColdFusion 5* | フォーラム* | デベロッパーセンター | サポート情報 | バグ報告
バージョン7