A couple of nice features when using OracleTextSearch

If you have your UCM/URM instance configured to use the Oracle 11g database as the search engine, you can be using OracleTextSearch as the search definition. OracleTextSearch uses the advanced features of Oracle Text for indexing and searching. This includes the ability to specify metadata fields to be optimized for the search index, fast rebuilding, and index optimization.

If you are on 10g of UCM, then you'll need to load the OracleTextSearch component that is available in the CS10gR35UpdateBundle component on the support site (patch #6907073). If you are on 11g, no component is needed. Then you specify the search indexer name with the configuration flag of SearchIndexerEngineName=OracleTextSearch. Please see the docs for other configuration settings and setup instructions.

So I thought I would highlight a couple of other unique features available with OracleTextSearch. The first is the Drill Down feature.

filter_by_category.png

filter_by_category_results.png

This feature allows you to specify specific metadata fields that will break down the results of that field based on the total results. So in the above graphic, you can see how it broke down the extensions and gives a count for each. Then you just need to click on that link to then drill into that result. This setting is perfect for option list fields and ones with a distinct set of values possible. By default, it will use the fields Type, Security Group, and Account (if enabled). But you can also specify your own fields. In 10g, you can use the following configuration entry:


DrillDownFields=xWebsiteObjectType,dExtension,dSecurityGroup,dDocType

And in 11g, you can specify it through the Configuration Manager applet. Simply click on the Advanced Search Design, highlight the field to filter, click Edit, and check 'Is a filter category'.

advanced_search_design_filter.png

The other feature you get with OracleTextSearch are search snippets. These snippets show the occurrence of the search term in context of their usage. This is very similar to how Google displays its results.

snippet_example.png

If you are on 10g, this is enabled by default. If you are on 11g, you need to turn on the feature. The following configuration entry will enable it:


OracleTextDisableSearchSnippet=false

Once enabled, you can add the snippets to your search results. Go to Change View -> Customize and add a new search result view. In the Available Fields in the Special section, select Snippet and move it to the Main or Additional Information.

custom_view.png

If you want to include the snippets with the Classic results, you can add the idoc variable of <$srfDocSnippet$> to display them.

One caveat is that this can effect search performance on large collections. So plan the infrastructure accordingly.

Comments:

Hi Kyle, Nice Posting. But one thing that it hadn't supported until now is HTML & PDF highlighting . in my opinion this feature is incredibly important while a thousand of keyword are appears difficult to look at. since those feature was supported on verity we miss it a lot. do u have any clue to "support" those functionality ? Regards, Purnomo

Posted by Purnomo on February 17, 2011 at 09:29 PM CST #

Hello Purnomo, As of right now, there is no way to enable PDF Highlighting. But there are enhancement requests (#10194970) for it. So hopefully it will get included in future releases. Thanks, -Kyle

Posted by kyle.hatlestad on February 21, 2011 at 01:39 AM CST #

Hi Kyle, I am a huge fan of your blogs. Please keep posting. I was not at all aware of this feature in Oracle Text. I was in search of this and I got it. Thanks for the help. Could you help with a problem though: I have an option list which I configured to categorize. It works fine for all values in list except one (Rebates, Grants and Funding). As you can see there is a comma in the value and it seems its breaking the functionality. I have checked in the ResultSet (SearchResultNavigationXXX - using IsJava=1), that value is not coming at all. Can you please help with that (I would prefer not to remove comma). Thanks Ajitabh

Posted by Ajitabh on February 22, 2011 at 09:54 AM CST #

Hey Ajitabh, There shouldn't be any reason why that wouldn't work. I just tried this on my environment and it worked fine. Here is a screenshot. Do you have a test environment where you can try rebuilding the entire search collection to see if that resolves the issue?

Posted by kyle.hatlestad on February 24, 2011 at 04:34 AM CST #

Hi Kyle, Forgot to mention earlier, but the option list is configured for multi-select. I tried to change the separator (changed to : as opposed to , which is the default separator for multi selection). I rebuilt the collection as well both before and after changing the separator. Both of these doesn't seem to work. Ajitabh

Posted by Ajitabh on February 27, 2011 at 09:51 AM CST #

Hello Ajitabh, I'm afraid this will not work with multi-select fields. Since the entire value of the metadata field is stored as a single entry in the search collection, it does not break apart the multiple values for doing the filtering. It's generally meant for single value option list fields. Thanks, -Kyle

Posted by kyle.hatlestad on March 21, 2011 at 10:55 PM CDT #

Good work Kyle, keep it up. With regards to adding fields to the "Filter by Category", why does it put the wwx label there and where can we change this ?

Posted by Anthony on April 11, 2011 at 05:15 PM CDT #

Hey Anthony, Yes, unfortunately this is a known bug (#11814183). But it should be resolved in future releases. One way to get around the issue is to change the label of your field to an internationalized version such as 'wwxContractNumber'. Then in a custom component, you can add a localization resource that would define the actual label. That would look like: <@wwxContractNumber=Contract Number@> Now it will resolve the label properly like it does for the system fields which get labelled in a similar fashion. Thanks, Kyle

Posted by kyle.hatlestad on April 11, 2011 at 11:09 PM CDT #

If the search item returned is not a document but an image with metadata, is there a way to better format the results that are in srfDocSnippet? I'd like to define which metadata fields are displayed in the results, but am not sure if this is possible or how to do this if it is! Thanks, Ken

Posted by Ken Lee on April 13, 2011 at 06:33 AM CDT #

Thanks Kyle The other issue I've noticed is that if you have a multiselect list and you add it to the filter by category option it treats the delimited values as a string rather than breaking them up. For eg. X.doc has metadata field ResourceType. It has multi values, [a, b, c] assuming its the only doc in the system, the filter category should show a(1) b(1) c(1), rather than "a, b, c(1)"

Posted by Anthony on April 18, 2011 at 02:16 PM CDT #

Hello Anthony, Yes, like I mentioned in a comment above, it generally only works with option lists that are single value lists like Type and Security Group. Because a multi-select field is stored as a string in the database and sent as a single value to the search engine, that is how it is treated from a filtering perspective (as you've seen). Thanks, -Kyle

Posted by kyle.hatlestad on April 19, 2011 at 12:13 AM CDT #

Hey Ken, No, I did some digging but did not find a way to better control the values being returned by it. I'm not sure in what context you're displaying the srfDocSnippet, but in the advanced mode of the custom search results templates and in Web Layout Editor area for the Classic search results, you could put in some scripting which would detect the extension of the item and then either display the srfDocSnippet or display the metadata fields of your choosing. Thanks, -Kyle

Posted by kyle.hatlestad on April 19, 2011 at 12:26 AM CDT #

Hi Kyle, Thanks for the information, its really usefull. Any idea how we can apply weights using OracleTextSearch like we did in Verity?

Posted by Venkat on June 02, 2011 at 11:26 PM CDT #

Hi Kyle,
Thanks for this very useful tips as it avoids a lot customisation around UCM to bring up many reports.

As i was trying these configurations you have mentioned here, i have faced one problem. When i was trying to add filter options on other fields through 'Advanced Search Design', the check box to enable the filter option was disabled.
Is there any changes i need to do the configuration of UCM 11g to get it enabled for the metadata?

Regards
Poornima

Posted by poornima on June 30, 2011 at 05:18 PM CDT #

Hey Poomima,

Are you sure you have your server configured for OracleTextSearch? If you have your server set to database metadata or fulltext (e.g. SearchIndexerEngineName=DATABASE.FULLTEXT), then the filter box will be disabled because it's only offered with OracleTextSearch.

Thanks,
-Kyle

Posted by Kyle Hatlestad on July 07, 2011 at 03:58 AM CDT #

Hi Kyle,

Thanks for the information on the Layout location. I am having trouble implementing the Snippet feature.

I added "OracleTextDisableSearchSnippet=false" to <UCM Install Dir>\ucm\idc\config\config.cfg, restarted UCM.
Next I added two columns ContentID and Snippet in the Customize Columns section. Next I added the ContentID to Main Info and Snippet to Additional Info.

The resulting output shows a plain headline view type content id and snippet columns.

I feel I'm missing something here as when I try to save the above view I get a javascript prompt saying "You have specified main or additional information to be used in the description column, but you have not added the description column to your view. Are you sure you wish to save this template?".

Any thoughts on this????

Thanks

Wriju

Posted by Wriju Bharadwaj on September 08, 2011 at 08:46 PM CDT #

Hi Kyle,

I was able to get past one hurdle (the description field was missing from the Customize columns section.

Now I can see that the Snippet field is empty. Is there a component that needs to be enabled in order to get this filled up upon check-in?

Thanks....

Posted by Wriju Bharadwaj on September 08, 2011 at 11:14 PM CDT #

Hey Wriju,

This isn't a standard field that gets populated with anything. This is information that comes back from the Oracle Text search engine dynamically based on whatever full-text word you searched on. It's meant to return the surrounding text of your search term, just like how Google does it.

Although it doesn't specify in the documentation, try rebuilding your search collection from Repository Manager. That may be required after setting the configuration flag and restarting.

Thanks,
-Kyle

Posted by Kyle Hatlestad on September 09, 2011 at 03:27 AM CDT #

Hi Kyle,

with regards to the categories:
The order of the categories displayed horizontally does not meet settings of the order coulmn of beta fields.....how can I sort that? bug ?
Hope I can solve that through settings and worst through IDOC overrides....

thanks for your always helpful blog!

Posted by Shonu on April 25, 2012 at 04:53 AM CDT #

Sorry, on another note: Are theses settings stored when exporting meta fields with CMU or is there another CMU are to consider?

Posted by Shonu on April 25, 2012 at 04:54 AM CDT #

Post a Comment:
  • HTML Syntax: NOT allowed
About

Kyle Hatlestad is a Solution Architect in the WebCenter Architecture group (A-Team) who works with WebCenter Content and other products in the WebCenter & Fusion Middleware portfolios. The WebCenter A-Team blog can be found at: https://blogs.oracle.com/ ateam_webcenter/

Search

Archives
« April 2014
SunMonTueWedThuFriSat
  
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
   
       
Today