Objective: wish to have two object types and subtypes indexed only. Do not want dm_sysobject indexed, nor dm_document type. So this process includes full-text indexing for just certain types in the object model.

Since out of the box dm_sysobject is registered for full-text indexing, all objects under that type and subtypes will get full-text indexed, including dm_application, dm_job, job reports, and all their attributes.  However, usually you don’t wish to full-text index everything, just documents from selected types. This process accomplishes the goal of filtering what is included in the full-text index.

Procedure

Note: this is my rewritten procedure. Originally the basic process was an EMC/Documentum support note which was very poorly worded and took me hours to decipher.

Remember to try this in a sandbox or dev environment first. This process was implemented in two systems and then successfully put into a final production system.

In this example we want to register only two types & all their subtypes and attributes: rtd_document and dm_message_archive. One of these types is a custom type

In order to re-index only the objects from the two selected types follow these steps:

 

1. Unregister and register the super type that you want to register

 

- In iapi.exe unregister the current events for the dm_fulltext_index_user  for  dm_sysobject. You can use Documentum Administrator or iapi.exe.

 

Fetch r_object_id of dm_sysobject.. This is “0319978f80000105”  in this example. You could fetch using this query: select r_object_id from dm_type where name = 'dm_sysobject'

 

API> unregister,c,0319978f80000105,dm_save,dm_fulltext_index_user

API> unregister,c,0319978f80000105,dm_destroy,dm_fulltext_index_user

API> unregister,c,0319978f80000105,dm_readonlysave,dm_fulltext_index_user

API> unregister,c,0319978f80000105,dm_checkin,dm_fulltext_index_user

API> unregister,c,0319978f80000105,dm_move_content,dm_fulltext_index_user

 

1a. Logon to server via Remote Desktop and use iapi.exe. Or use local iapi.exe if you have installed locally.

 

Connect as dm_fulltext_index_user

 

API> getlogin,c,dm_fulltext_index_user,

 

Returns a dm_ticket with many characters as shown below. This is an example ticket only.

 

DM_TICKET=T0JKIE5VTEwgMAoxMwp2ZXJzaW9uIElOVCBTIDAKMwpmbGFncyBJTlQgUyAwCjAKc2VxdWVuY2VfbnVtIElOVCBTID

AKMzE3OQpjcmVhdGVfdGltZSBJTlQgUyAwCjEyMjU5OTIzNTgKZXhwaXJlX3RpbWUgSU5UIFMgMAoxMjI1OTkyNjU4CmRvbWFpbi

BTVFJJTkcgUyAwCkEgNyBydGQuZG9tCnVzZXJfbmFtZSBTVFJJTkcgUyAwCkEgMjIgZG1fZnVsbHRleHRfaW5kZXhfdXNlcgpwYXN

zd29yZCBTVFJJTkcgUyAwCkEgNzcgRE1fRU5DUl9URVhUPXdPU0RBNm1pNTgxajdiSmQxalltVWxmdUUvN0RpUEdVSFA3c0Yz

SWhGTXZlcjB3RFJyRVZtQmZiS0h5Um5rYXIKZG9jYmFzZV9uYW1lIFNUUklORyBTIDAKQSA0IGNFQ00KaG9zdF9uYW1lIFNUUklO

RyBTIDAKQSA4IGNDT05URU5UCnNlcnZlcl9uYW1lIFNUUklORyBTIDAKQSA0IGNFQ00Kc2lnbmF0dXJlX2xlbiBJTlQgUyAwCjU2C

nNpZ25hdHVyZSBTVFJJTkcgUyAwCkEgNTYgVnVSSHVqbWlVSytpaFpXa2UzTDVmTTB3WXp0bTBoZTZVV2w1eHJoRmhXUzZYY

UYxeWxScGpRPT0K

 

Using the login ticket connect as dm_fulltext_index_user. Paste the login ticket as shown below. Note that USER below in blue is a superuser, typically dm_admin or similar.

 

 

API> connect,USER,dm_fulltext_index_user,DM_TICKET=T0JKIE5VTEwgMAoxMwp2ZXJzaW9uIElOVCBTIDAKMwpmbGFncyBJTl

QgUyAwCjAKc2VxdWVuY2VfbnVtIElOVCBTIDAKMzE3OQpjcmVhdGVfdGltZSBJTlQgUyAwCjEyMjU5OTIzNTgKZXhwaXJlX3RpbWU

gSU5UIFMgMAoxMjI1OTkyNjU4CmRvbWFpbiBTVFJJTkcgUyAwCkEgNyBydGQuZG9tCnVzZXJfbmFtZSBTVFJJTkcgUyAwCkEgMjI

gZG1fZnVsbHRleHRfaW5kZXhfdXNlcgpwYXNzd29yZCBTVFJJTkcgUyAwCkEgNzcgRE1fRU5DUl9URVhUPXdPU0RBNm1pNTgx

ajdiSmQxalltVWxmdUUvN0RpUEdVSFA3c0YzSWhGTXZlcjB3RFJyRVZtQmZiS0h5Um5rYXIKZG9jYmFzZV9uYW1lIFNUUklORyBT

IDAKQSA0IGNFQ00KaG9zdF9uYW1lIFNUUklORyBTIDAKQSA4IGNDT05URU5UCnNlcnZlcl9uYW1lIFNUUklORyBTIDAKQSA0IG

NFQ00Kc2lnbmF0dXJlX2xlbiBJTlQgUyAwCjU2CnNpZ25hdHVyZSBTVFJJTkcgUyAwCkEgNTYgVnVSSHVqbWlVSytpaFpXa2UzTD

VmTTB3WXp0bTBoZTZVV2w1eHJoRmhXUzZYYUYxeWxScGpRPT0K

 

... Result:

 

s1

 

- Register events for desired types. Remember- we are registering just two supertypes and all their subtypes and attributes.  Run these steps first for rtd_document and repeat for dm_message_archive. Only rtd_document is shown in example below.

 

Fetch r_object_id for rtd_document…it is 030000fb800001d7.

Fetch r_object_id for dm_message_archive…it is 030000fb80000169.

 

API> register,c, 030000fb800001d7,dm_save,,F

 

SET> F

...

Returns: OK

 

API> register,c, 030000fb800001d7,dm_destroy,,F

 

SET> F

...

Returns: OK

 

API> register,c, 030000fb800001d7,dm_readonlysave,,F

 

SET> F

...

Returns: OK

 

API>register,c, 030000fb800001d7,dm_checkin,,F

 

SET> F

...

Returns: OK

 

API>register,c, 030000fb800001d7,dm_move_content,,F

 

SET> F

...

Returns: OK

 

 

2. Stop Index Agent. Do one time after registering dm_message_archive & rtd_document above.

 

3. From Fast InStream Admin page http://<index server>:16000. Go to collections and under "Collection Overview" find the name of the collection associated to the repository in question.

 

4. Click on the trash icon "Delete collection "<name of the collection>".

 

5. Wait until the process of deleting the collection completes:

 

- First it will delete the index information

- Second it will delete the fixml information

 

6. Using the Index Agent configuration program delete the Index Agent associated to the repository.

 

7. If the dm_ftengine_config and dm_ftindex_agent_config objects are still present, get the r_object_id and using iapi destory both objects:

 

API> retrieve,c,dm_ftengine_config

 

API> destroy,c,l

 

API> retrieve,c,dm_ftindex_agent_config

 

API> destroy,c,l

 

 

8. Run the Index Agent configuration program and reconfigure the Index Agent in normal mode. In other words make a new index agent.

 

 

9. Create an output file with the r_object_id's of the custom type. If two types (rtd_document & dm_message_archive) run twice: 1st time run query for 1st type, add these to ids.txt file.  Then run again for 2nd type and append those to ids.txt file. Do this on Content Server.

 

idql -Uusername -Ppassword < dql_ statement_script > ids.txt

 

idql32 dev -Uuser -Ppassword -RsteveDQL.txt > c:\dqltest.txt

 

where dql_statement_script contains the select statement as follows:

 

dqltest.txt contains:

 

select r_object_id from rtd_document

 

go

 

- Open the output file and remove the headers and leave only the r_object_id values. Paste these id's into a file named ids.txt in directory listed below on cFast.

 

C:\Documentum\bea9.2\domains\DctmDomain\upload\IndexAgent1\IndexAgent1.war\WEB-INF\classes. 

 

File formerly called ids.txt is then change to ids.txt.done.  This is a good verification by FAST – it indicates object id’s were processed. The image below shows location of ids.txt after ids.txt is processed.