説明

1 つ以上の Solr コレクションを検索します。コレクションが作成され、インデックスが付けられていなければ、このタグは検索結果を返すことができません。コレクションは、以下の方法で作成できます。

  • cfcollection タグを使用する
  • ColdFusion Administrator で作成する
    次の方法でコレクションにインデックスを作成できます。
  • ColdFusion で、cfindex タグを使用する
  • ColdFusion Administrator で、cfindex タグを呼び出す
    詳しくは、『ColdFusion アプリケーションの開発』の検索インターフェイスの構築を参照してください。

カテゴリ

拡張タグ

シンタックス

cfsearch supports script style syntax: 

cfsearch(name="<search_name>", collection="<collection_name>"); 

<cfsearch 
collection = "collection name" 
name = "search name" 
category = "category[,category2,...]" 
categoryTree = "tree location" 
contextBytes = "number of bytes" 
contextHighlightBegin = "HTML string" 
contextHighlightEnd = "HTML string" 
contextPassages = "number of passages" 
criteria = "search expression" 
language = "language" 
maxRows = "number" 
orderBy = "rank_order" 
previousCriteria = "criteria" 
startRow = "row number" 
status = "" 
suggestions = "suggestion option" 
type = "criteria">

注意:このタグの属性は attributeCollection 属性で指定でき、その値は構造体になります。attributeCollection 属性で構造体の名前を指定し、タグの属性名を構造体のキーとして使用します。

関連項目

cfcollectioncfexecutecfindexcfobjectcfreportcfwddx

履歴

ColdFusion 10:新しい orderBy 属性

ColdFusion 9:Solr 検索エンジンを使用できるようになりました。

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 例外を返すことができます。

属性

属性

必須/オプション

デフォルト

説明

name

必須

 

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

collection

必須

 

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

category

オプション

 

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

categoryTree

オプション

 

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

criteria

オプション

 

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

contextBytes

OptionalSolr

300

コンテキスト要約に返される最大バイト数です。

contextHighlightBegin

OptionalSolr

<b>

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

contextHighlightEnd

OptionalSolr

</b>

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

contextPassages

OptionalSolr

0

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

language

オプション

english

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

maxRows

オプション

all

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

orderBy

オプション

 

カスタムフィールド列のランク順をソートします。デフォルトでは、昇順でソートされます。

previousCriteria

オプション

 

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

startRow

オプション

1

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

status

オプション

 

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

suggestions

オプション

never

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

  • Always:常にスペル提案を返します。
  • Never:スペル提案を返しません。
  • 正の整数:検索で取得されたドキュメントの数が指定値以下の場合、スペル提案を返します。
    提案データを取得する際には、パフォーマンスが若干低下します。

type

オプション

standard

エンジンで条件を処理する際に使用するパーサーを指定します。
  • Standard
  • DisMax

使用方法

cfsearch タグは、cfoutput タグ内で参照可能な列を持つクエリーオブジェクトを返します。例えば、次のコードでは、"filming" または "filmed" に完全一致する用語の検索が指定されます。

<cfsearch 
name = "mySearch" 
collection = "myCollection" 
criteria = '<WILDCARD>`film{ing,ed}`' 
type="standard" 
startrow=1 
maxrows = "100"> 
<cfdump var = "#mySearch#>

この例では、一重引用符(')およびバックティック(`)が区切り文字として使用されています。

 

検索のパフォーマンスを最適化するには、常に maxrows 属性を指定し、使用するアプリケーションの要件に応じた値に設定してください。値を 300 未満に設定すると、最適なパフォーマンスが得られます。cflock タグをこのタグと共に使用しないでください。Solr にはロック機能が用意されています。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

検索に要した時間(ミリ秒単位)です。

suggestedQuery

より適切な結果が得られる可能性がある代替クエリーです。検索語のスペル修正などが行われます。suggestions というタグ属性で指定した条件が満たされた場合にのみ提示されます。

keywords

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

keywordScore

keywords の場合と同じ形式の構造体です。

<!--- #3 (search by 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#>

本作品は Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License によってライセンス許可を受けています。  Twitter™ および Facebook の投稿には、Creative Commons の規約内容は適用されません。

法律上の注意   |   プライバシーポリシー