Config.xml Parameters

This section describes the parameters that you may need to modify in the default config.xml file.

Warning: Do not use the following internal fields in the config.xml file: acl, all_fts, categories, cats_retrieveonly, cfgdicoid, drivefolderpath, ds6w, flattenedtaxonomies, fsid, graph, graph_merged, language, listoffields, metadata_fts, mxentry, mxfileinfo, mxid, mxindexingdate, mxlink, mxobjecttype, mxov, mxphid, mxreadentry, mxrevokeassign, mxrevokelogin, mxrevokeowner, mxtarget, originallocation, originalpointed, schildrenids security, suggest, summary, taxonomies, tenant, text, textbw, title, url, wname. Otherwise, the set system searchindex file CONFIGFILE_PATH_AND_NAME force; MQL command returns errors.

See Also
Configuring Indexing
Config.xml Example
Applying Configuration
Parameter Description Keywords Allowed
ACCESS

Manages access controls to the CloudView server. Default configuration is:

<ACCESS check="true" useIndexedSecurity="true"/>

For more information, see Indexed Security.

useIndexedSecurity - Optional keyword. Default is true. This keyword controls the build-time and run-time security behavior of the 3DSpace Index:

  • At build time, it calculates indexed security pointers for each business object/relationship (dov and iov).
  • At build time, it crawls indexed security ownership vectors (accesslists).
  • At run time, query operations include or not, indexed security tokens.
    Note: This step usescvservlet parameters.
APPLICATION

Includes or omits BOTYPEFIELDS associated with a specific app.

For more information, see Adding Applications.

name - Mandatory keyword. Specifies the name of the application. The name must be unique.

active - Mandatory keyword. Set it to true or false.

BOTYPE

Represents the Business Object Types found in your database. Each BOTYPE entry must be unique and can appear only once in the config.xml file.

Group the attributes you choose to index for each type under the BOTYPEFIELDS parameter.

If a required type is missing from the config.xml file, the 3DSpace Index consults the type hierarchy and uses the next available parent type. To allow child types to index their own unique fields, fields are not combined and used according to type hierarchy. If type A defines specific fields, and type B derives from type A, only fields explicitly defined for type B are indexed for type B. If type B does not define any fields, the fields defined for type A are indexed for type B.

A child BOTYPE definition overwrites the definition of its parent. For example, if you define a child type for a BOTYPE but that type is excluded from the parent of the BOTYPE, the child type is still indexed. This parameter also allows you to turn file indexing per business type on or off. For more information, see Adding Business Types Files and File Extensions.

Note: When supporting mixed environments (real-time search and indexed search), the BOTYPE entries control the types to index. The BOTYPEFIELDS entries (see next row) control the fields to index for those types. If configured to use real-time search, the BOTYPE entries are not required. However, the applications still require that the BOTYPEFIELDS entries are in place to find the matching selectable for a particular field.

For more information on how the active keyword affects indexing, see About the Index Configuration File.

name - Mandatory keyword. Specifies the name of the type. The name must be unique.

includes - Mandatory keyword. Specifies the BOTYPEFIELDS parameter that contains the fields to index for the type.

excludefields - Optional keyword. Specifies fields to exclude for a BOTYPE.

excludeFromCrawl - Optional keyword. Set to true if you do not want to crawl specific business objects and relationships.

active - Optional keyword. When set to true (default), the BOTYPE is included in indexing. All types can specify whether to be indexed or not, independently of whether their parent or children types are indexed.

excludepolicies or excludestates - Optional keywords. Specify a Type, Policy, or State exclusion. A BOTYPE can only have one exclusion. You cannot exclude policies used by different types in different type hierarchies.

inheritfields - Optional keyword. When specified to true, the BOTYPE parameter inherits all the BOTYPEFIELDS included for its parent BOTYPE.

indexfile - Optional keyword. When specified to true (default), file indexing per business type is on; when false, this function is off.

extension - Optional keyword. Allows you to declare certain file formats for indexing by type. The formats with extensions declared in the <EXTENSION> tag within the <INDEXED-VAULTS> tag are indexed.

BOTYPEFIELDS (Business Object Type Fields)

Indexes only relevant fields for each BOTYPE used in your database. Use:

  • BOTYPEFIELDS to group the fields to index.
  • Use the name attribute to apply the BOTYPEFIELDS to a BOTYPE.
  • Use the includes attribute on the BOTYPE to reference its BOTYPEFIELDS.

In the following example, the attributes grouped under the "common" BOTYPEFIELDS are applied to the "part" BOTYPE.

<BOTYPEFIELDS name="common" >
<FIELD name="ID" select="id" type="STRING"/>
<FIELD name="TYPE" select="type" type="STRING"/>
<FIELD name="NAME" select="name" type="STRING"/>

<BOTYPE name="Part" includes="common,libraries" />

Note: Do not remove the BOTYPEFIELDS parameter when running a real-time search. For more information, see the note in the BOTYPE parameter description.

name - Mandatory keyword. Specifies the name of the BOTYPEFIELDS parameter. The name must be unique.

application - Mandatory keyword. Specifies the app to associate with the BOTYPEFIELDS. When you specify the APPLICATION to true, the indexing process includes these BOTYPEFIELDS.

BOTYPE.EXTFIELDS

Indexes new fields for a type without explicitly adding the fields to the type.

<BOTYPE.EXTFIELDS name="" includes=""/>

In the config.xml file, define the type and fields before referencing them in this parameter. If not, errors occur when you run the set system searchindex command, and the command stops.

If the fields are already included for the type, errors occur when you run the set system searchindex command, but the command continues.

name - Mandatory keyword. Specifies the name of the type. The name must be unique.

includes - Mandatory keyword. Specifies the new fields to index for that type.

CHUNK

Controls the chunk size of the number of objects fetched from your database to index. After each chunk is sent, the SearchIndexStats vault property is updated.

size="10000"

Recommendation: Do not modify this parameter.

CONSOLIDATIONSERVER

Configures a few consolidation server properties.

jsonpath - Optional keyword. Specifies the path to the JSON files generated for the consolidation server.

eventmonitor - Optional keyword. If set to true, incremental indexing is performed using the event monitor. If set to false, incremental indexing is performed based on the timestamp provided during start searchindex mode partial modified <timestamp>. Default parameter is true.

CRAWLER

Use this parameter inside the <INDEXED-VAULTS/> section to specify the types to index.

excludeattribute - Optional keyword. Specifies attributes to exclude from the index. For example, you can exclude a binary blob that is not useful in the index. List the attributes to exclude as follows: <CRAWLER excludeattribute="attribute_1, attribute_2,…, attribute_n"/>

Important: If the config.xml file has both a FIELD parameter that refers to an attribute, and CRAWLER a parameter that excludes the same attribute, the attribute will be indexed. The FIELD parameter overrides the CRAWLER parameter.

excludebotypes - Optional keyword. Specifies BO types to exclude from crawling.

excludereltypes - Optional keyword. Specifies relationship types to exclude from crawling.

DATASETS

During the indexing operation, 3DSpace Index creates data sets. You can configure the config.xml to create the Datasets subdirectory into a specific directory, as shown in the sample below.

By default, the Datasets directory is created under the temp directory of the system:

  • On Unix systems, the temp directory is /tmp. If the config.xml has the path set to /home/data/, then the datasets are created under /home/data/Datasets. If not, default path is /tmp/Datasets.
  • On Windows systems (Windows 7 & higher), the temp directory is generally, C:\Users\<Username>\AppData\Local\Temp

Example: <DATASETS botypepriority="Hardware Part, CAD Model" concurrency="1" incrementlimit="20000" initiallimit="10000" path="/home/data/" reltypepriority="EBOM1"/>

botypepriority - During crawling, this keyword gives priority to all objects of this type (and its subtypes), and attempts to crawl these objects before crawling objects of other types.

reltypepriority - During crawling, this keyword gives priority to all connections of this relationship type (and its subtypes), and attempts to crawl these connections before crawling connections of other types.

path - Defines the directory path where the datasets are created. Default directory is the temp directory. This attribute expects the path to be an existing path.

initiallimit - Each dataset has partitions and these partitions have ids of objects/connections that are available for crawling. initiallimit defines the initial number of ids in each partition. Default value=25000.

incrementlimit - Helps to increase the size of each partition gradually. Default value=0. For example:

  • If initiallimit="25000" and incrementlimit="0", then each partition will have 25000+0=25k ids.
  • If initiallimit="25000" and incrementlimit="10000", then the first partition will have 25k ids, the second partition will have 35k ids, the third partition will have 45k ids, and so on, up to a maximum of 1 million ids in each partition.
Recommendation: Unless there is a real performance issue, keep the default values of initiallimit and incrementlimit.

concurrency - This parameter helps to crawl multiple partitions in parallel and improve the overall crawling time during: baseline indexing, partial indexing, update indexing, and resume searchindex (executed after a failed or incomplete baseline indexing).

Default value = 1.

For example, if concurrency=3, the main MQL will launch 3 other MQLs in the background on the same machine, to crawl two partitions in parallel at any given time. These child MQLs are responsible for the bulk of the crawling, that is, loading data from the DB, building the CloudView metadata documents, and pushing them to CloudView.

Important: Execute Baseline Indexing and Update Indexing with concurrency >1 in cases where there are at least a few million objects to index. With this setting, the indexing operation starts a new child MQL that has to load the kernel and the various caches. For large datasets, this overhead will boost the indexing performance by running concurrent crawlers. For smaller datasets, this overhead is unnecessary.
Recommendation: Once the Baseline Indexing or the Update Indexing operations are complete, set the value back to 1, to avoid unnecessary performance overhead.
EVENTMONITORCHUNK

Use this parameter outside the <INDEXED-VAULTS/> section of the config.xml file.

It configures the number of events that must be read from the event monitor for each page of events.

For optimum results, based on the number of select threads and assuming that the MCS has enough memory, adjust this parameter so that about 60 to 125 BOs/COs are loaded per thread.

size="" - Mandatory keyword. If this parameter is not defined, then the default size is 1000.

EXTENSION

Specifies the file extensions to index. By default, it is set to: <EXTENSION names="pdf,xls,zip,ppt,doc,txt"/>

names - Mandatory keyword. Specifies the extensions to index.

FIELD

Represents the attributes found in your database. FIELD entries correspond to attributes on types and are grouped under BOTYPEFIELDS.

For more information, see Adding Attributes to a Business Object Type.

name - Mandatory keyword. Specifies the name of the attribute. The name must be unique.

select - Mandatory keyword. Specifies the MQL select or JPO method that will fetch the value for the field.

Note: businessobject and relationship are no longer supported.

type -Mandatory keyword. Specifies the field's type as either PARAMETRIC, NUM (numeric), STRING, BOOLEAN, CLASSIFICATION, or DATE.

hidden - Optional keyword. Specifies whether to hide or show the field in the UI. Set it to true or false.

ramBased - Optional keyword. Use it for the Name field only. This keyword optimizes the field for sorting results faster (it uses CloudView RAM-based fields). Set it to true or false.

chooserURL - Optional keyword. Specifies the chooser page to use to populate the field's box. This attribute is only used in form-based mode.

chooserJPO - Optional keyword. Specifies the JPO method that sends the values to populate the list.

fieldSeparator - Optional keyword. Used to configure the input control for full text search. You can define this keyword using a single character or multilevel values. Separate multilevel values with pipes.

fieldOperator - Optional keyword. Specifies the operator to use when a user selects more than one value for a field. Valid values are AND or OR.

minRequiredChars - Optional keyword. Specifies the minimum number of non-wildcard characters that you can use in a non-parametric field to filter the results.

format - Optional keyword. Specifies the field's user type to fetch and display the user's full name.

FILEINDEXING

Disables all attached file activity during crawl. This is useful for test environments where a production DB is cloned without copying the file stores.

For more information, see Disabling File Content Indexing.

FORMAT

Specifies the formats to index in your database. It indexes all formats by default: <FORMAT name="*"/>

name - Mandatory keyword. Specifies the format name. The name must be unique.

INCLUDE

Use this parameter to manage other config.xml files away from your main config.xml file.

These other config.xml files can only contain specific information on business object types and fields, using BOTYPE and BOTYPEFIELDS parameters. These files cannot contain other parameters.

Use INCLUDE in your main config.xml file to reference each additional config.xml file that you want to include in the indexing process. For example, if you want to include the types and fields defined in the config_VPM.xml file, add <INCLUDE xmlsrc="config_VPM1.xml"/> in the <INDEXED-VAULTS> tag of the main config.xml file.

Notes: An included file can include another file. All the config.xml files defined in an INCLUDE parameter must be in the same directory as the main config.xml file.

When you run the set system searchindex command, the information in all the files merge in the searchindex property. A warning message displays if an included file is not found in the same directory as the main config.xml file. The command stops if the same types and fields are defined in two places.

You can optionally add the tidy parameter to the set system searchindex command to sort the information in all the files, that is, put all the BOTYPE definitions in one chunk, etc. If you do not use the tidy parameter, the information is not organized.

xmlsrc - Mandatory keyword. Specifies the other config.xml files to index.

INDEXED-VAULTS

Specifies the database vaults to index. It indexes all vaults by default: <INDEXED-VAULTS names="*" excludevaults="">

names - Mandatory keyword. Specifies the names of the vaults.

excludevaults - Optional keyword. Specifies vaults to exclude from the indexing process.

MAXFILE

Specifies the maximum file size for indexing.

By default, the maximum file size is 20 MB, based on the config.xml setting <MAXFILE size="20000000"/>. To specify a smaller file size limit (for example, 10 MB):

  1. Change the MAXFILE setting. Set it outside of the INDEXED-VAULTS element. For example:
    <FORMAT name="*"/>
     <STORE name="*"/>
     <EXTENSION names="pdf,xls,zip,ppt,doc,txt,docx,xlsx,pptx"/>
     </INDEXED-VAULTS>
     <MAXFILE size="10000000"/>
    </INDEXER>
  2. Run the MQL command set system searchindex.
  3. Modify the cv/data/config/DeploymentInternal.xml file to set a high JVM heap. For more information, see Fixing Out of Memory Issues.
  4. Restart the CloudView Server.

size - Mandatory keyword. Specifies the file size in bytes. For example, 20 MB (the default) is specified as size="20000000".

PAGE

Controls the chunk size of the number of objects on which the selects defined in the config.xml are issued (default = 500).

Warning: Only adjust this parameter if memory usage of the MQL process is reaching the process limit.

size="500"

Recommendation: Do not modify this parameter.

RELATIONSHIP

Relationships are indexed by default.

Set it to false if you do not want to index relationships: <RELATIONSHIP active="false"/>

SEARCH

Controls the number of search results pages used to refill and repaginate search results pages that may contain blank records (those the user is restricted access to). Refilled search results pages then display without blank records.

fillpages="5" - Mandatory keyword. Default is 5.

STORE

Use this parameter to identify the store or location closest to the MQL client executing the indexing command: < STORE name="STORE" preferredlocation="STORE" />

The optional preferredlocation attribute increases file operation performance during indexing processes by using the file copy (if it is the latest copy) in the store or the location closest to the MQL client executing the indexing command. This is similar to a user checking out a file and accessing the file copy in the store or location closest to them.

If you do not set this parameter, the indexing process selects the first copy from the list of valid file copies, regardless of distance. For example, if an indexing process is occurring in Boston and the latest copy of a file is in both the Boston and Paris stores, and the Paris copy is used if it is listed first (forcing a file synchronization). This may decrease performance.

name - Mandatory keyword. Specifies the store name. The name must be unique.

preferredlocation - Optional keyword. Specifies the store or location closest to the MQL client executing the indexing command.

THREADPOOL

Controls the number of threads running simultaneously during indexing. The default value is calculated based on the number of cores available (min=4 and max=8). To give a better performance when running against a production server that has a high number of CPUs, set this parameter to 8 or 16.

The MX_CONNECTION_POOL_SIZE 3DSpace Service environment variable must reflect the thread pool size. Set this variable to 2*(1+THREADPOOL). By default, set this variable to 10.

size="4" - default value

TRANSLATE_ SYMBOLIC

You can translate any selectable containing a symbolic name by adding the TRANSLATE_SYMBOLIC parameter in the INDEXER section of the configuration file.

A JPO name and method is required within the entry. The JPO method is called for selectables associated with the field definition. It expects a string as parameter and then returns the translated string. If the input string does not require a translation, it is returned without translation.

program - Mandatory keyword. Specifies the JPO name.

method - Mandatory keyword. Specifies the JPO method.