Search by metadata with xPlore

Axel_Gil
edited September 24, 2014 in Documentum #1

Hi friends,

We have just installed xPlore for full text indexing and search by content only in one cabinet from our repository. Before installing xPlore we usually performed search by metadata using advanced search window from webtop or da looking for documents of many types in several cabinets. Now, after installing xPlore, when we use advanced search window (filtering by metadata) it only returns results (documents) from the cabinet we have configured to index.

We would like metadata/properties search returns result from all cabinets, including those that have been configured for full text indexing and those that not.

Thanks!!!!!

Tagged:

Best Answer

  • Andrea Paci
    edited September 24, 2014 #2 Answer ✓

    Hello Axel,

    Once you install and configure xPlore on a repository it will change the way searches are executed. Once in place, all searches will run on xPlore (simple search and advanced search too).

    The advanced search page includes the simple search text box at the top. Even if you do not use that simple search box (contains), any metadata search will run on xPlore.

    If you want to disable searching on xPlore for all cabinets but one in the advanced search page, you could probably:

    1. customize the advanced search page to remove the contains text box at the very top

    2. disable xQuery generation with dfc.search.xquery.generation.enable=false in the client's dfc.properties

    3. build a dfc-dqlhints.xml file to append NOFTDQL hint and force metadata to be searched in the database

    For steps 2 and 3, you can open a Service Request if you need assistance from Technical Support.

    As step 1 requires customization, it is not covered by Technical Support.

    If you do not remove the contains box from the advanced search page, you could end up with a query that contains a

    SEARCH DOCUMENT CONTAINS clause and a WHERE clause. If the WHERE clause is not compliant with the rules of

    FTDQL or the query contains an explicit ENABLE(NOFTDQL), Content Server executes the SEARCH clause against the fulltext index and the WHERE clause against the database and then returns the intersection of the results.

    You may not want this to happen...

    The documentation has plenty of information on this matter. Please download it and search for the different topics mentioned in this message.

    I hope this helps.

    Regards,

    Andrea Paci

Answers

  • Andrea Paci
    edited September 24, 2014 #3 Answer ✓

    Hello Axel,

    Once you install and configure xPlore on a repository it will change the way searches are executed. Once in place, all searches will run on xPlore (simple search and advanced search too).

    The advanced search page includes the simple search text box at the top. Even if you do not use that simple search box (contains), any metadata search will run on xPlore.

    If you want to disable searching on xPlore for all cabinets but one in the advanced search page, you could probably:

    1. customize the advanced search page to remove the contains text box at the very top

    2. disable xQuery generation with dfc.search.xquery.generation.enable=false in the client's dfc.properties

    3. build a dfc-dqlhints.xml file to append NOFTDQL hint and force metadata to be searched in the database

    For steps 2 and 3, you can open a Service Request if you need assistance from Technical Support.

    As step 1 requires customization, it is not covered by Technical Support.

    If you do not remove the contains box from the advanced search page, you could end up with a query that contains a

    SEARCH DOCUMENT CONTAINS clause and a WHERE clause. If the WHERE clause is not compliant with the rules of

    FTDQL or the query contains an explicit ENABLE(NOFTDQL), Content Server executes the SEARCH clause against the fulltext index and the WHERE clause against the database and then returns the intersection of the results.

    You may not want this to happen...

    The documentation has plenty of information on this matter. Please download it and search for the different topics mentioned in this message.

    I hope this helps.

    Regards,

    Andrea Paci

  • Axel_Gil
    edited September 24, 2014 #4

    Hi Andrea,

    I've just opened a SR (please check if you can catch it).

    I changed the DA dfc.properties adding dfc.search.xquery.generation.enable=false.

    Now a DQL is launched againts the database instead of xQuery but still without results.

    My search by object name is transformed into:

    SELECT text, object_name, score, summary, r_modify_date, r_object_id, r_object_type, r_lock_owner, owner_name, r_link_cnt, r_is_virtual_doc, r_content_size, a_content_type, i_is_reference, r_assembled_from_id, r_has_frzn_assembly, a_compound_architecture, i_is_replica, r_policy_id, subject, title FROM lb_gd_pagina WHERE (object_name = '1047551767') AND (a_is_hidden = FALSE) ENABLE(TRY_FTDQL_FIRST)

    This DQL doesn´t return any results, but if I change the DQL and launch it through dql tester it returns one result.

    SELECT * FROM lb_gd_pagina WHERE (object_name = '1047551767') AND (a_is_hidden = FALSE) ENABLE(TRY_FTDQL_FIRST)

    Where is the difference?

    I don't know how to create a dfc-dqlhints.xml file, I am searching in Administration and Development guide and the only interesting point redirects me to EMC Documentum Search Development Guide.I can't find this manual.

    Thanks, and please review my SR.

     

  • Axel_Gil
    edited September 24, 2014 #5

    Hi again,

    I found the document.

    Now I added dfc-dqlhints.xml file and add dfc.dqlhints.file=D:/dfc-dqlhints.xml to dfc.properties.

    This generates the same DQL that I posted on my last post, without any results.

    <RuleSet>

         <Rule>

              <DQLHint>ENABLE(NOFTDQL)</DQLHint>

              <DisableFTDQL/>

         </Rule>

    </RuleSet>

    SELECT text, object_name, score, summary, r_modify_date, r_object_id, r_object_type, r_lock_owner, owner_name, r_link_cnt, r_is_virtual_doc, r_content_size, a_content_type, i_is_reference, r_assembled_from_id, r_has_frzn_assembly, a_compound_architecture, i_is_replica, r_policy_id, subject, title FROM dm_document WHERE (object_name = '1047551767') AND (a_is_hidden = FALSE) ENABLE(TRY_FTDQL_FIRST)

    I think It doesn't find the dfc-dqlhints.xml file or it is malformed.


    Any idea?

  • Andrea Paci
    edited September 24, 2014 #6

    This is running on xPlore because text, score and summary are in the selected attribute list:

    SELECT text, object_name, score, summary, r_modify_date, r_object_id, r_object_type, r_lock_owner, owner_name, r_link_cnt, r_is_virtual_doc, r_content_size, a_content_type, i_is_reference, r_assembled_from_id, r_has_frzn_assembly, a_compound_architecture, i_is_replica, r_policy_id, subject, title FROM lb_gd_pagina WHERE (object_name = '1047551767') AND (a_is_hidden = FALSE) ENABLE(TRY_FTDQL_FIRST)

    This is not running on xPlore:

    SELECT * FROM lb_gd_pagina WHERE (object_name = '1047551767') AND (a_is_hidden = FALSE) ENABLE(TRY_FTDQL_FIRST)

    It is not as simple as it looks to explain in a Forum thread... There are so many little things to explain for this to work as you want it.

    I will request to be assigned to https://support.emc.com/servicecenter/srManagement/65969982

    Regards,

    Andrea Paci

  • Axel_Gil
    edited September 24, 2014 #7

    Thanks Andrea!