Searching for data

When an application searches for items stored in the IBM® Content Manager system, the underlying engine processes the search based on a query that you compose. To begin writing queries, you must understand the query language concepts, syntax, and grammar.

To traverse the IBM Content Manager data model efficiently, you compose queries by using the IBM Content Manager query language. The query language provides the following benefits:

  • Supports the full data model.
  • Supports searching for a specific version, such as the most current version.
  • Enables searches within component type view hierarchies across linked items, and references.
  • Combines parametric and text search.
  • Provides sorting capabilities, by using SORTBY.
  • Enforces IBM Content Manager access control.
  • Conforms to XQuery Path Expressions (XQPE) standards, a subset of the W3C XML Query working draft.
  • Completes high performance searches.
The IBM Content Manager query language is an XML-based query language that, unlike proprietary languages, conforms to XQuery Path Expressions (XQPE), a subset of the W3C XML Query working draft. Using the query language, you can search item types and locate items quickly and easily.

All queries are done on component type views. Therefore, the names that you use for root components or child components in your query strings can be the names of either base component type views that are created for you by the system (for example, Journal, Journal_Article) or the names of user-defined component type views (for example, My_Journal, My_Book_Section). In the system administration client, component type views are called component type subsets.

When you submit a query for a document, folder, object, and so on, your request is directed to the IBM Content Manager query engine. The engine processes the query and translates it to the appropriate SQL. The library server then adds in the security checks (ACLs) and runs the query.

Note: In IBM Content Manager V8.6 and later, searching for data and sorting data can be configured to be case-insensitive. In earlier versions, they were always case-sensitive. This means that queries used in earlier versions might give different results in version 8.6 and later. (This does not affect text search, which has always been case-insensitive.)
Important: Query and search are used interchangeably in this section, and have essentially the same meaning.