CFCOLLECTION |
Description Creates and administers Verity search engine collections.
Category Extensibility tags
Syntax
    <cfcollection
       action = "action"
       collection = "collection_name"
       path = "path_to_verity_collection"
       language = "language"
       name = "queryname"
    categories = "yes" or "no">
See also cfexecute, cfindex, cfobject, cfreport, cfsearch, cfwddx
History ColdFusion MX 7:

- Removed reference to external collections.
- Deprecated the map and repair options of the action attribute. They might not work, and might cause an error, in later releases.
- Added categories attribute and categorylist action.
- Added CATEGORIES, SIZE, DOCCOUNT, and LASTMODIFIED to list of variables returned by the list action.
- Marked as obsolete the MAPPED, ONLINE, and REGISTERED variables returned by the list action.

ColdFusion MX:

- Changed the requirements for the action attribute: it is now required.
- Added the action attribute list value. It is the default.
- Changed the requirements for the action attribute value map: it is not necessary to specify the action attribute value map. (ColdFusion detects collections and creates maps collections as required.)
- Changed acceptable collection naming: this tag accepts collection names that include spaces.
- Changed Verity operations behavior: ColdFusion supports Verity operations on Acrobat PDF files.
- Changed thrown exceptions: this tag can throw the SEARCHENGINE exception.

Usage With this tag you can create, register, and administer a Verity collection that was created by ColdFusion or by a Verity application. The following table shows the dependence relationships among this tag's attribute values:

    collection
|  | Required | Required | Required | Required | Required | Required
    path
|  | Required | Required |  |  |  |
    language
|  | Optional | Optional |  |  |  |
    name
| Required |  |  |  |  |  | Required
    categories

The following examples illustrate the structures returned by the categorylist action:

The list action returns the following information in a result set that contains one row per collection:

CATEGORIES |

- yes: the collection has category support enabled.
- no: the collection does not have category support enabled.

CHARSET | The character set of the collection.
CREATED | The date and time that the collection was created.
DOCCOUNT | The number of documents in this collection.
EXTERNAL |

- yes: the collection is external.
- no: the collection is not external.
- Not Found: the collection is registered but is not available in the defined path .

LANGUAGE | The locale setting of the collection. This information is not available for K2Server collections.
LASTMODIFIED | The date and time that the collection was last changed.
MAPPED | Obsolete
NAME | The name of the collection.
ONLINE | Obsolete
PATH | Absolute path to the collection.
REGISTERED | Obsolete
SIZE | The size of the collection, expressed in kilobytes.

The ColdFusion MX Administrator Verity > Collections page displays the information that is returned when you use the list attribute.

If the Verity Server is not running when the list action is executed, the tag throws an error.

To determine whether a collection exists, use code, such as the following, to execute a query of queries:

    <cfcollection action="list" name="myCollections" >
    <cfquery name="qoq" dbtype="query">
    select * from myCollections
    where myCollections.name = 'myCollectionName'
    </cfquery>
    <cfif qoq.recordcount GT 0>
       <!--- Collection exists --->
       <cfdump var = #qoq#>
    </cfif>

To get a result set with values for all the collections that are registered with the Verity server, use code such as the following:

    <cfcollection action="list" name="myCollections">
    <cfoutput query="myCollections">
       #name#<br>
    </cfoutput>

To add content to a collection, use cfindex. To search a collection, use cfsearch.

The language attribute of this tag supports the following options:

Asian Language Pack
Japanese | Korean | Chinese | Traditional Chinese
Multilanguage Language Pack
Unicode |  |  |
Western European Language Pack
Bokmal | Finnish | Italian | Spanish
Danish | French | Nynorsk | Swedish
Dutch | German | Portuguese |
Eastern European/Middle Eastern Language Pack
Arabic | Greek | Polish | Turkish
Bulgarian | Hebrew | Russian |
Czech | Hungarian | Russian2 |

The default location of Verity collections is as follows:

- Server configuration:

- Windows: C:\CFusionMX7\verity\collections
- UNIX system: /opt/coldfusionmx7/verity/collections

- J2EE configuration: webapp_root/WEB-INF/cfusion/verity/collections

Example
    <!-------------------------------------------------------------------------
    (coll_actn.cfm)
    Check for server platform and use its default Verity Collection directory.
    If you did not install ColdFusion MX in the default directory, or if you use
    the J2EE configuration, or if your webroot is not C:\CFusionMX7\wwwroot, you
    might need to change the path in this example. For example, for JRun4 the path
    might be C:\JRun4\Verity\Collections\
    --------------------------------------------------------------------------->
    <cfif Find("Windows", Server.OS.Name)>
       <cfset collPath = "C:\JRun4\Verity\Collections\">
    <cfelse>
       <cfset collpath = "/opt/coldfusionmx7/verity/collections/">
    </cfif>

    <!--------------------------------------------------------------------------
    Process form input and do the requested cfcollection operation.
    --------------------------------------------------------------------------->

    <cfif IsDefined("form.CollectionName") AND IsDefined("form.CollectionAction")>
       <cfif form.CollectionName is not "">
          <cfswitch expression="#FORM.CollectionAction#">
            <cfcase value="Create">
              <cfcollection action="CREATE" collection="#FORM.CollectionName#"
                   path="#collPath#" categories="yes">
              <h3>Collection created.<br>
             Use CFINDEX to populate it.</h3>
            </cfcase>
            <cfcase value="Repair">
              <cfcollection action="REPAIR" collection="#FORM.CollectionName#">
              <h3>Collection repaired.</h3>
            </cfcase>
            <cfcase value="Optimize">
              <cfcollection action="OPTIMIZE" collection="#FORM.CollectionName#">
              <h3>Collection optimized.</h3>
            </cfcase>
            <cfcase value="Delete">
              <cfcollection action="DELETE" collection="#FORM.CollectionName#">
             <h3>Collection deleted.</h3>
            </cfcase>
          </cfswitch>
       <cfelse>
       <h3>Please enter a name for your collection</h3>
       </cfif>
    </cfif>

    <!--------------------------------------------------------------------
    (coll_form.cfm)
    Form to specify the collection name and action
       coll_form.cfm
    --------------------------------------------------------------------->

    <form action="coll_actn.cfm" method="POST" >
    <select name="CollectionAction">
       <option value="Create">Create this collection
       <option value="Optimize">Optimize this collection
       <option value="Repair">Repair this collection
       <option value="Delete">Delete this collection
    </select>

    <p><strong>Collection on which to act</strong><br>
    Use the default value or enter your own Collection name<br>
    <input type="Text" name="CollectionName" value="My_coll"></p>

    <input type="Submit" name="" value="alter or create my collection">
    </form>

blue

10

green

3

magenta

3

purple

2

a/

10

a/b

10

a/b/c

10

a/b/c/subdir

3

ACTION |
| Required; see Usage
Default value: "list"

- categorylist: retrieves categories from the collection and indicates how many documents are in each one. Returns a structure of structures in which the category representing each substructure is associated with a number of documents. For a category in a category tree, the number of documents is the number at or below that level in the tree.
- create: registers the collection with ColdFusion.

- If the collection is present: creates a map to it.
- If the collection is not present: creates it.

- delete: unregisters a collection and deletes its directories.
- list: returns a query result set, named from the name attribute value, of the attributes of the collections that are registered by ColdFusion.
- map: creates a map to a collection. If the action is create and the collection already exists, Coldfusion also creates a map to the collection.
- optimize: optimizes the structure and contents of the collection for searching; recovers space. Causes collection to be taken offline, preventing searches and indexing.
- repair: deprecated. Does nothing.

COLLECTION |
| See Usage

- A collection name. The name can include spaces.

PATH |
| See Usage
Absolute path to a Verity collection. To map an existing collection, specify a fully qualified path to the collection (not including the collection name); for example, "C:\MyCollections\".

LANGUAGE |
| See Usage
Default value: "English" Although English is the default language, Englishx, a more advanced English locale, is also provided. For a list of options, see Usage. Requires the appropriate (European or Asian) Verity Locales language pack.

NAME |
| See Usage
Name for the query results returned by the list and categorylist actions.

CATEGORIES |
| See Usage
Default value: "no" Used only for creating a collection:

- yes: this collection includes support for categories.
- no: this collection does not support categories.