cfsearch

説明

1 つ以上の Verity コレクションを検索します。

cfsearch タグによって検索結果が返されるようにするには、コレクションを作成し、これにインデックスを作成しておく必要があります。

コレクションは、次の方法で作成できます。

ネイティブの Verity ツールを使用してコレクションを作成する場合は、コレクションを登録する必要があります。コレクションを ColdFusion で登録するには、次の方法を使用できます。

コレクションには、次の方法でインデックスを作成できます。

詳細については、『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">

関連項目

cfcollectioncfexecutecfindexcfobjectcfreportcfwddx

ヒストリ

ColdFusion MX 7:

ColdFusion MX:

属性

属性 必須/
オプション
デフォルト 説明

name

必須

 

検索クエリーの名前です。

collection

必須

 

1 つ以上のコレクション名です。カテゴリ検索を実行 (category または categoryTree を指定) する場合以外は、複数のコレクションを指定できます。

category

オプション

 

検索の条件として使用する、カンマで区切られたカテゴリのリストです。このレベルを指定しても、コレクションでカテゴリが有効でない場合、ColdFusion は例外を返します。

categoryTree

オプション

 

カテゴリの階層ツリー上の、検索を開始する位置です。ColdFusion では、このレベル以下を対象に検索が行われます。このレベルを指定しても、コレクションでカテゴリが有効でない場合、ColdFusion は例外を返します。category 属性と併用できます。

status

オプション

 

ColdFusion での検索情報の配置先となる構造体変数の名前を指定します。検索情報には、代替検索条件の提案 (スペルの修正) などが含まれます。この構造体のキーのリストについては、ステータス構造体キーを参照してください。

type

オプション

simple

Verity で条件を処理する際に使用するパーサーを指定するために使用します。

  • simple: STEM および MANY 演算子を暗黙的に使用します。
  • explicit: 演算子を明示的に呼び出す必要があります。Bool_Plus とも呼ばれます。
  • internet: 大部分が WYSIWIG (what-you-see-is-what-you-get) ドキュメントであるドキュメントの場合に指定します。Internet_advanced とも呼ばれます。
  • internet_basic: 検索時間を最小限にします。
  • natural: QBE (Query By Example) パーサーを指定します。FreeText とも呼ばれます。

詳細については、『ColdFusion MX 開発ガイド』のVerity 検索式の使用を参照してください。Verity ドキュメントも参照してください。

criteria

オプション

 

検索条件です。type 属性のシンタックスルールに従います。criteria 属性で大文字と小文字が混在したエントリを渡すと、検索では大文字と小文字が区別されます。大文字だけまたは小文字だけのエントリを渡すと、大文字と小文字は区別されません。Verity のシンタックスおよび区切り文字のルールに従ってください。『ColdFusion MX 開発ガイド』のVerity 検索式の使用を参照してください。

maxRows

オプション

すべて

クエリー結果に返される行の最大数です。

startRow

オプション

1

取得する最初の行番号です。

suggestions

オプション

never

スペルの誤りがある単語について Verity がスペル提案を返すかどうかを指定します。次のオプションのいずれかを使用します。

  • Always: Verity は常にスペル提案を返します。
  • Never: Verity はスペル提案を返しません。
  • positive integer: 検索で取り出されたドキュメントの数が指定値以下の場合、Verity はスペル提案を返します。

提案データを取り出す際には、パフォーマンスが若干低下します。

contextPassages

オプション

0

Verity がコンテキスト要約 (結果のコンテキスト列) に返す句/文の数です。デフォルトは 0 で、コンテキスト要約は無効です。

contextBytes

オプション

300

Verity がコンテキスト要約に返す最大バイト数です。

contextHighlightBegin

オプション

<b>

コンテキスト要約で検索語の先頭に追加する HTML です。この属性を contextHighlightEnd と共に使用して、コンテキスト要約で検索語を強調表示します。

contextHighlightEnd

オプション

</b>

コンテキスト要約で検索語の末尾に追加する HTML です。この属性を contextHighlightBegin と共に使用して、コンテキスト要約で検索語を強調表示します。

previousCriteria

オプション

 

検索結果の既存セットの結果セット名です。Verity は、前の検索スコアやランクに関係なく、criteria に対して結果セットを検索します。この属性を使用して、結果セット内で検索を実装します。

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 タグを使用すると、検索のパフォーマンスが低下します。

cfsearch タグの結果列

変数です。 説明
context

デフォルトでボールドで強調表示された検索語を含むコンテキスト要約です。contextpassages 属性を 0 より大きい値に設定すると有効になります。

url

コレクションへの挿入に使用される cfindex タグ内の URLpath 属性の値です。

key

コレクションへの挿入に使用される cfindex タグ内の key 属性の値です。

title

PDF ドキュメントや Office ドキュメントのタイトルなど、コレクションへの挿入に使用される cfindex タグでの title 属性の値です。タイトルがドキュメントから抽出されない場合は、各行の cfindex title 属性の値が使用されます。

score

検索条件に基づいた、ドキュメントの関連性の値です。

custom1、custom2、
custom3、custom4

コレクションへの挿入に使用される cfindex タグでのカスタムフィールドの値です。

size

インデックスドキュメントのバイト数です。

rank

検索結果におけるこのドキュメントのランクです。

author

可能な場合に HTML、Office、および PDF ドキュメントから抽出されます。

type

ドキュメントの MIME タイプです。

category

このドキュメントのインデックス作成時に指定されたカテゴリのリストです。

categoryTree

このドキュメントのインデックス作成時に指定された、カテゴリの階層ツリーまたはカテゴリのシリアルリストです。単一のツリーだけが返されます。

summary

cfindex によって作成される自動要約の内容です。

recordCount

レコードセットに返されるレコードの数です。

currentRow

cfoutput により処理されている現在の行です。

columnList

レコードセット内の列名のリストです。

recordsSearched

検索されたレコードの数です。これは、レコードセット内の各行について同じ値です。ステータス構造体内の searched キーに対応します。

ステータス構造体キー

変数です。 説明
found

検索条件に合致するドキュメントの数です。

searched

検索されたドキュメントの数です。検索結果の recordsSearched 列に対応します。

time

検索に要した時間 (ミリ秒単位) です。Verity K2 検索サービスによりレポートされます。

suggestedQuery

Verity によって推奨される代替クエリーです。より適切な結果が得られる場合があります。検索語に関するスペルの誤りを修正することもあります。suggestions タグ属性条件が満たされる場合にのみ提供されます。

keywords

基本設定の順序に最大 5 つの代替用語を設定可能な配列へのキーワードとなる検索語を含む構造体です。suggestions 属性条件が満たされる場合にのみ提供されます。

keywordScore

Verity で報告される 0 ~ .99 の重みづけ値も含むこと以外は、keywords の場合と同じ形式の構造体です。数値が大きければ、結果も高品質になります。

エラーを引き起こす可能性があるアプリケーションユーザーが Verity コレクション内で、通常エラーとなる標準外の文字列、単語、または文字 ("AB23.45.67" や "--->"など) を検索できるようにするため、これらの要素をリストして Verity でのそれらの形式を定義したテキストファイルを作成できます。このファイルには style.lex と名前を付け、コピーを次のディレクトリに置きます。

マルチサーバー設定および J2EE 設定の場合は、Verity を別のディレクトリにインストールします。

メモ: 山括弧 (< または >) などの文字を検索するには、criteria 属性値として "&lt:""&lt:" などを使用する必要があります。括弧は 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