CFINDEX | |||||||||||||||||||||||||
説明
Verity コレクションにメタデータを挿入し、それを検索するためのインデックスを作成します。Verity は、さまざまなタイプの物理ファイルやデータベースクエリーを検索するために ColdFusion アプリケーションに統合できる検索エンジンです。クエリーからの結果のデータベース列にインデックスを付けると、複数の SQL クエリーを使用して同じデータを返していた場合に比べてはるかに迅速にクエリーデータを検索できるようになります。 Verity コレクションにインデックスを付ける前に、ColdFusion MX Administrator または cfcollection タグを使用して Verity コレクションを定義する必要があります。 ColdFusion MX Administrator を使用して、または Vspider や MKVDK などのネイティブの Verity インデックス作成ツールを使用して、Verity コレクションにインデックスを付けることもできます。ただし、これらのオプションを使用すると、ディレクトリパス内のファイルのコレクションにインデックスを付けることが制限されます。 Verity コレクションの作成、インデックス作成、検索の詳細については、『ColdFusion MX 開発ガイド』の第 24 章「検索インターフェイスの構築」を参照してください。 |
|||||||||||||||||||||||||
カテゴリ
拡張タグ | |||||||||||||||||||||||||
シンタックス<cfindex collection = "collection_name" action = "action" type = "type" title = "title" key = "ID" body = "body" custom1 = "custom_value" custom2 = "custom_value" custom3 = "custom_value" custom4 = "custom_value" category = "category_name" categoryTree = "category_tree" URLpath = "URL" extensions = "file_extensions" query = "query_name" recurse = "yes"、"no" language = "language"> status = "status"> |
|||||||||||||||||||||||||
関連項目
cfcollection、cfexecute、cfobject、cfreport、cfsearch、cfwddx |
|||||||||||||||||||||||||
ヒストリ
ColdFusion MX 7:
ColdFusion MX:
|
|||||||||||||||||||||||||
使用方法
cfindex タグに必要な属性の設定は、query 属性を設定するかどうかによって決まります。query 属性を有効なクエリー名に設定した場合は、cfindex がディスク内のドキュメントにインデックスを付けるのではなく、クエリー内のデータにインデックスを付けるように指定します。query 属性を設定しない場合、cfindex はファイル (type = file)、ディレクトリパス内のファイルのセット (type = path)、または body 属性で指定されたテキスト (type = custom) にインデックスを付けると想定します。 query 属性を有効なファイル名に設定した場合、cfindex タグは、次の属性およびその値で指定されるようにインデックスを作成します。
query 属性を設定しない場合、cfindex タグは、次の属性およびその値で指定されるようにインデックスを作成します。
type を指定しないで query を設定した場合、ColdFusion は type を custom のデフォルト値に設定します。 type と query のいずれも設定しない場合、ColdFusion は type を file のデフォルト値に設定します。 type が custom の場合、key および body 以外のすべての属性で、列名だけでなくリテラル値も指定することができます。これにより、コレクション内でフィールドを空に変更することができます。 |
|||||||||||||||||||||||||
status 属性
status 属性は、cfindex オペレーションの結果に関する次の情報と診断を提供します。
|
|||||||||||||||||||||||||
例<!--- 例 1: ファイルのインデックス作成 (type = "file") ----------------------------> <!--- 例では、ステータス変数の内容 (info) をダンプします。 -------------------> <cfindex collection="CodeColl" action="refresh" type="file" key="C:blackstonewwwrootvw_filescfindex.htm" urlpath="http://localhost:8500/vw_files/" language="English" title="Cfindex Reference page" status="info"> <!--- 属性を検索します。 ---> <cfsearch name = "mySearch" collection = "CodeColl" criteria = "Attributes" contextpassages = "1" maxrows = "100"> <cfoutput> key=#mySearch.key#<br /> title=#mySearch.title#<br /> context=#mySearch.context#<br /> url=#mySearch.url#<br /> </cfoutput> <cfdump var="#info#"> <!--- 例 2: パスのインデックス作成 (type = "path") ------------------------------> <cfindex collection="CodeColl" action="refresh" type="path" key="C:inetpubwwwrootvw_filesnewspapersports" urlpath="http://localhost/vw_files/newspaper/sports" extensions = ".htm, .html" recurse="no" language="English" categoryTree="vw_files/newspaper/sports" category="Giants"> <!--- 条件への参照を検索します。 ---> <cfsearch name = "mySearch" collection = "CodeColl" categoryTree="vw_files/newspaper/sports" category="Giants" criteria = "Williams" contextpassages = "1" maxrows = "100"> <cfoutput> key=#mySearch.key#<br /> title=#mySearch.title#<br /> context=#mySearch.context#<br /> url=#mySearch.url#<br /> </cfoutput> <!--- 例 3: クエリーのインデックス作成 (type = "custom")、custom1 を使用 ------------> <!--- テーブルからデータを取り出します。 ---> <cfquery name="getCourses" datasource="cfdocexamples"> SELECT * FROM COURSES </cfquery> <!--- コレクションを上記のクエリー結果で更新します。 ---> <!--- キーは Courses テーブル内の Course_ID です。 ----> <!--- 本文は検索用にインデックスを付ける列を指定します。 ---> <!--- custom1 は Course_Number 列の値を指定します。 ---> <cfindex query="getCourses" collection="CodeColl" action="Update" type="Custom" key="Course_ID" title="Courses" body="Course_ID,Descript" custom1="Course_Number" > <h2>インデックス作成の終了</h2> <!--- cno は検索する custom1 の値を提供します。 フォーム入力を使用することもできます。 ---> <cfset cno = "540"> <cfsearch name = "mySearch" collection = "CodeColl" criteria = "CF_CUSTOM1 <MATCHES> #cno#" contextpassages = "1" maxrows = "100"> <!--- Course_Number 540 に対するインデックス設定された値 (Course_ID and Descript) を返します。 ---> <cfoutput> key=#mySearch.key#<br /> title=#mySearch.title#<br /> context=#mySearch.context#<br /> url=#mySearch.url#<br /> </cfoutput> <!--- 例 4: クエリー内のファイルのインデックス作成 (type= "file") ---------------> <!--- ファイル名 (Contract_File) を含む列がある行を取り出します。 ---> <cfquery name="getEmps" datasource="cfdocexamples"> SELECT * FROM EMPLOYEE WHERE EMP_ID = 1 </cfquery> <!--- コレクションを上記のクエリー結果で更新します。 ---> <!--- キーにより完全ファイル名を含む列が指定されます。 ---> <!--- 同じ方法で、クエリーが関与しないかのようにファイルにインデックスが付けられます。 ---> <cfindex query="getEmps" collection="CodeColl" action="Update" type="file" key="Contract_File" title="Contract_File" body="Emp_ID,FirstName,LastName,Contract_File"> <h2>インデックス作成の終了</h2> <cfsearch name = "mySearch" collection = "CodeColl" criteria = "vacation" contextpassages = "1" maxrows = "100"> <cfoutput> key=#mySearch.key#<br /> title=#mySearch.title#<br /> context=#mySearch.context#<br /> url=#mySearch.url#<br /> </cfoutput> <!--- 例 5: クエリー内のパスのインデックス作成 ----------------------------> <!--- パス (Project_Docs) を含む列がある行を取り出します。 ---> <cfquery name="getEmps" datasource="cfdocexamples"> SELECT * FROM EMPLOYEE WHERE Emp_ID = 15 </cfquery> <!--- コレクションを上記のクエリー結果で更新します。 ---> <!--- キーによりディレクトリパスを含む列が指定されます。 ---> <!--- 同じ方法で、クエリーが関与しないかのようにパスにインデックスが付けられます。 --- ---> <cfindex query="getEmps" collection="CodeColl" action="update" type="path" key="Project_Docs" title="Project_Docs" body="Emp_ID,FirstName,LastName,Project_Docs"> <h2>インデックス作成の終了</h2> <cfsearch name = "getEmps" collection = "CodeColl" criteria = "cfsetting" contextpassages = "1" maxrows = "100"> <cfoutput> key=#getEmps.key#<br /> title=#getEmps.title#<br /> context=#getEmps.context#<br /> url=#getEmps.url#<br /> </cfoutput> <!--- 例 6: html ファイルの CodeColl コレクション内のキーの削除 ---> <!--- 指定したディレクトリ内 (サブディレクトリは対象外) -------------> <cfindex collection="CodeColl" action="delete" type="path" key="C:CFusionMX7wwwrootvw_filesnewspaper" urlpath="http://localhost:8500/vw_files/newspaper" extensions = ".htm, .html" recurse="no"> <!--- 例 7: CodeColl コレクション内のすべてのキーの破棄 ---> <!--- 再帰 -------------------------------------------------------> <cfindex collection="CodeColl" action="purge" type="path" key="C:CFusionMX7wwwrootvw_filesnewspaper"> |
COLLECTION | |
必須 | |
ColdFusion によって登録されているコレクションの名前。"personnel" のように指定します。 |
ACTION | |
必須 | |
|
TYPE | |
オプション | |
Default value: "query 属性を指定している場合は custom指定していない場合は file "
|
TITLE | |
オプション | |
ドキュメントのタイトルをドキュメントから取り出せない場合、そのタイトルを提供します。 |
KEY | |
必須 | |
Default value: "(空の文字列)"
key に対して指定される値は、type 属性によって決まります。
|
BODY | |
type = custom の場合は必須 | |
区切りリストで列を指定できます。例 : "emp_name, dept_name, location" この属性は、type が file または path の場合は無視されます。action が delete の場合は無効です。 |
CUSTOM1 | |
オプション | |
コレクションレコード内の不連続な値にインデックスを付けます。これにより、Verity MATCHES 演算子を使用して特定のレコードを検索できるようになります。一方、body 属性で指定した値は、連結され、指定の条件を使用してテキスト本文として検索されます。 type = query の場合は、クエリー列名です。type = custom の場合は、インデックスを付けるデータフィールドです。 |
CUSTOM2 | |
オプション | |
使用方法は、custom1 の場合と同じです。 |
CUSTOM3 | |
オプション | |
使用方法は、custom1 の場合と同じです。 |
CUSTOM4 | |
オプション | |
使用方法は、custom1 の場合と同じです。 |
CATEGORY | |
オプション | |
インデックスを付けるデータの 1 つ以上の検索カテゴリを指定する文字列です。1 つのインデックスについて、複数のカテゴリをカンマで区切って定義することができます。 |
CATEGORYTREE | |
オプション | |
検索対象の階層構造のカテゴリまたはカテゴリツリーを指定する文字列値です。スラッシュ ("/") で区切られた、カテゴリの系列です。指定できるカテゴリツリーは 1 つだけです。 |
URLPATH | |
オプション | |
type が file または path の場合、URL パスを指定します。インデックスの作成時には、このパス名がファイル名の先頭に付き、url として検索から返されます。 |
EXTENSIONS | |
オプション | |
Default value: "htm、"
Default value: "html、"
Default value: "cfm、"
Default value: "cfml、"
Default value: "dbm、"
Default value: "dbml"
type = "Path" の場合に、ColdFusion がファイルのインデックス作成に使用する拡張子をカンマ区切りで指定します。 "*." を入力すると、拡張子のないファイルが返されます。".*" を入力すると、すべてのファイルが返されます。 たとえば、次のコードでは、リストされている拡張子のファイルまたは拡張子のないファイルが返されます。 extensions == ".htm, .html, .cfm, .cfml, "*." |
QUERY | |
オプション | |
コレクションを生成する対象のクエリーの名前です。 |
RECURSE | |
オプション | |
Default value: "no"
|
LANGUAGE | |
オプション | |
Default value: "English"
オプションについては、cfcollectionを参照してください。適切な Verity Locales 言語パック (Western Europe、Asia、Multilanguage、Eastern Europe/Middle Eastern) が必要です。 |
STATUS | |
オプション | |
ColdFusion MX がステータス情報を返す先の構造体の名前です。 |