Whatever message this page gives is out now! Go check it out!

ORMSearch

Last update:
May 18, 2026

Description

Searches for given text in specific properties or entities.

Returns

A struct that contains the following:
  • An array of structs (with the entity and scorebeing the keys) in the following format:
data -[{entity: entity1, score: entity1_score}, {entity: entity2, score: entity2_score}, ..... ]
  • maxTotalRecord (number of possible results)

History

ColdFusion 10: Added this function

Syntax

ORMSearch("query_text", "entityName")ORMSearch("query_text", "entityName", fields)ORMSearch("query_text", "entityName", fields, optionMap)
Parameters
Parameter
Description
query_text
The text to be searched for or a complete Lucene query.In the case of ORMSearch("query_text", "entityName"), only Lucene query is supported.For details of Lucene query, see http://lucene.apache.org/core/old_versioned_docs/versions/3_0_0/queryparsersyntax.html
entityName
Name of the entity to be searched.
fields
Fields in which search has to be performed. This can be an array of strings.If you are performing a Lucene query, you need not specify this field. In other words, if you do not specify this value, a Lucene query is performed.Field name is case-sensitive.
optionMap
Extra options that can be passed while executing Lucene query.The options are:
  • sort: Sorts based on indexfieldname you specified.
  • offSet: Specifies the position from which to retrieve the objects.
  • maxResults: Specifies the maximum number of objects to be retrieved.

Usage

When you perform a date search, use the format yyyymmdd as shown in the following example:
objs = ORMSearch("datecheck:[#dateformat(dateadd("d",5,now()),"yyyymmdd")# TO #dateformat(dateadd("d",35,now()),"yyyymmdd")#]","C2",[],{maxresults=2});
If you are performing a time search, use the UTC format.
Example 1: ORM search based on Lucene query
ORMSearch("FirstName:ch*","Employee"); 
ORMSearch("ch*","Employee",["FirstName"]); 
objs = ORMSearch('FirstName:ch*',"Employee",[],{sort="salary",maxresults=5,offset=2});
Example 2: ORM search on multiple entities
ORMSearch("john*","DeveloperEntity,UserEntity",["firstname"]);
In this example, first name is searched in the DeveloperEntity and UserEntity and a composite array of entities are returned.

Example 3: ORM search on all subentities based on Lucene query

This example shows how to perform ORM search on all subentities that inherit a super entity. Assume that USEmployeeEntity and UKEmpoyeeEntity are extending EmployeeEntity. You can search both the subentities using the following code:
ORMSearch("john*","EmployeeEntity",["FirstName"]);
Example 4: ORM search in relationships
In this example, products and categories have a many-to-one relationship. You can search all products of a specific category using the following code:
ORMSearch("CategoryID.CategoryName:In*","cproducts",[]);
Note that search in related objects works only for many-to-one relationship and one-to-one relationship.

Share this page

Was this page helpful?
We're glad. Tell us how this page helped.
We're sorry. Can you tell us what didn't work for you?
Thank you for your feedback. Your response will help improve this page.

On this page