Hi All,
We use Documentum 6.5 sp2 + RM + RPS.
We have customized the product as per our requirements. In this process, we have created two object types A, B as sub-types of dm_document.
B is linked to A. Even though A is not made a virtual doc by flagging r_is_virtual_doc to true, its r_link_cnt is >=1 making it a virtual doc. And therefore we
have many B objects linked to 1 A object.
The requirement is to execute a full text search in both A and its linked B objects and their content files but to display only A.
That is, even if the search term is present only in A or present only in B and not present in its linked A, A has to be displayed on results page.
Please suggest me if there is any way to do that.
We tried to cusomize the search code by adding separate DQL queries like:
Query 1: Select r_object_id from B search document contains '****'
and then:
Query 2: Select r_object_id_of_A from dm_dbo.mapping_table where r_object_id_of_B = 'r_object_id of B from above query'
and then:
Query 3: Select r_object_id from A search document contains '****'
Filter the r_object_ids and collect them in IDfList.
The above is our custom code to retrieve all the r_object_id s of all As having the search term in them or in their linked Bs.
This is only half way as we need IDfResultsSet to display results in Search results page. Therefore, we allowed % symbol as Search term to Search API so that the idfQueryProcessor.getResults() method gives us all the As in the system (say 100,000).
We now compare the r_object_id s of As in IDfResultsSet to those in IDfList and if they are matching, then we will create a new IDfModifiableResultsSet to be displayed on to the screen.
In this entire process, the execution time to retrieve all the As from the system (100,000 in our case) is taking long time (of course it is obvious).
And other issue is, the Query 2 in our custom code is breaking when the count of Bs in Query 1 is high (>10,000 approx).This makes our search cumbersome.
Please suggest any tips/ideas to improve this.
Thanks and regards,
Parimal