CFSEARCH  
説明

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

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

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

  • cfcollection タグを使用します。
  • ColdFusion MX Administrator で登録します。
  • Vspider や MKVDK などのネイティブの Verity インデックス作成ツールを使用します。Vspider および MKVDK の詳細については、『ColdFusion MX の設定と管理』の第8章の「Verity および Verity ツールの概要」 を参照してください。

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

  • cfcollection タグを使用します。
  • ColdFusion MX Administrator で登録します。

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

  • ColdFusion で、cfindex タグを使用します。
  • ColdFusion MX Administrator で、cfindex タグを呼び出します。
  • Vspider や MKVDK などのネイティブの Verity インデックス作成ツールを使用します。

詳細については、『ColdFusion MX 開発ガイド』の第24章の「検索インターフェイスの構築」 を参照してください。

 
カテゴリ

拡張タグ

 
シンタックス
<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 の各結果列が追加されました。
  • ステータス構造体およびその構造体に関連付けられているキーに関する情報が追加されました。
  • 個々の K2 サーバーおよび "k2server.ini" ファイルへの参照が削除されました。
  • 未登録のコレクションへの参照が削除されました。
  • 外部コレクションへの参照が削除されました。ColdFusion MX では、Verity 検索サービスを使用してすべてのコレクションを管理します。
  • cflock の推奨事項が変更されました。cfsearch タグを cflock タグで囲むことは推奨事項ではなくなりました。

ColdFusion MX:

  • external 属性は使用禁止になりました。今後のリリースではこのタグは機能せずエラーを引き起こす可能性があります。各コレクションが内部コレクションか外部コレクションであるかは自動的に検出され、この情報は保管されます。このタグでは、絶対 (完全修飾) コレクションパス名およびマップ済みコレクション名がサポートされます。
  • クエリー結果の動作が変更されました。cfindex タグを使用して、cfsearch オペレーションによるクエリー結果のインデックスを作成できます。
  • Verity オペレーションの動作が変更されました。ColdFusion で、Acrobat PDF ファイルでの Verity オペレーションがサポートされるようになりました。
  • 複数のコレクションの動作が変更されました。このタグを使用して、複数のコレクションを検索できます。複数のコレクションの検索では、K2 サーバーで登録されたコレクションと他の方法で登録されたコレクションを同時に検索することはできません。
  • コレクションのネーミング規則が変更され、スペースを含むコレクション名が使用できるようになりました。
  • 次のサポートが変更されました。このタグは、Verity 2.6.1、LinguistX、および ICU ロケールをサポートしています。
  • 返す例外が変更されました。このタグでは SEARCHENGINE 例外を返すことができます。

 
使用方法

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 開発ガイド』の第25章の「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 と名前を付け、コピーを次のディレクトリに置きます。

  • Windows の場合 :
    • cf_rootverityk2commonstyle (通常、cf_root = C:CFusionMX7)
    • cf_rootverityDatastylesetsColdFusionK2
  • UNIX の場合 :
    • cf_root//verity/k2/common/style (通常、cf_root = /opt/coldfusionmx7)
    • cf_root/verity/Data/stylesets/ColdFusionK2

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

メモ: 山括弧 (< または >) などの文字を検索するには、criteria 属性値として "&lt:" や "&lt:" などを使用する必要があります。括弧は Verity で予約されており、文字のエスケープにバックスラッシュ (criteria="<") を使用したとしても、このコンテキストでは機能しません。詳細については、『ColdFusion MX 開発ガイド』の第25章の「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#> 
NAME  
  必須
 

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

COLLECTION  
  必須
 

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

CATEGORY  
  オプション
 

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

CATEGORYTREE  
  オプション
 

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

STATUS  
  オプション
 

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

TYPE  
  オプション
 
Default value: "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 開発ガイド』の第25章の「Verity 検索式の使用」 を参照してください。Verity ドキュメントも参照してください。

CRITERIA  
  オプション
 

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

MAXROWS  
  オプション
 
Default value: "すべて"

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

STARTROW  
  オプション
 
Default value: "1"

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

SUGGESTIONS  
  オプション
 
Default value: "never"

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

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

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

CONTEXTPASSAGES  
  オプション
 
Default value: "0"

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

CONTEXTBYTES  
  オプション
 
Default value: "300"

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

CONTEXTHIGHLIGHTBEGIN  
  オプション
 
Default value: "<b>"

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

CONTEXTHIGHLIGHTEND  
  オプション
 
Default value: "</b>"

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

PREVIOUSCRITERIA  
  オプション
 

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

LANGUAGE  
  オプション
 
Default value: "english"

使用禁止です。この属性は、無視されるようになりました。コレクションの言語は、検索を実行するために使用されます。