How to modify search lexer preferences in Oracle Portal

This note apply to Oracle Portal 10.1.4.

 

OracleAS Portal includes a set of built-in features tuned for searching content stored and managed within the OracleAS Portal Repository.
The OracleAS Portal search feature is installed with default and the Oracle Text index is used.
Oracle Text indexes use a number of Lexer preferences to control the linguistic aspects of the indexing, if you need custom the “OracleAS Portal search” using the lexer preferences different of default, follow bellow:

 

You will need the portal user password. Run this in MidTier to see :

$ORACLE_HOME/bin/ldapsearch -h machineofOID.domain -p 389 -D cn=orcladmin -w <password> -b "cn=IAS,cn=Products,cn=OracleContext" -s sub -v OrclresourceName=PORTAL| grep orclpasswordattribute

Return:
orclpasswordattribute=welcome1

 

1. First of all, check the preferences sets (log-in with portal user in database infra-structure) :

select * from ctx_user_preferences

 

2. Drop the existent indexes using script “ctxdrind.sql” from MidTier ($ORACLE_HOME/portal/admin/plsql/wws)

connect into database with portal user and run @ctxdrind.sql;

 

3. Edit the preferences using script “sbrimtlx.sql” from MidTier ($ORACLE_HOME/portal/admin/plsql/wws)

Please backup the file sbrimtlx.sql.

The preferences must change according the language, some languages is explicit like “GERMAN,KOREAN,CHINESE” and other languages is grouped in “GENERIC_BASIC_LEXER”.

Example for setting the lexer preferences:

3.1 German language, using “mixed case” and “base letter” :

After:
ctx_ddl.create_preference(GERMAN_LEXER, ‘BASIC_LEXER’ );

Add:
ctx_ddl.set_attribute (GERMAN_LEXER, ‘mixed_case’, ‘YES’);
ctx_ddl.set_attribute (GERMAN_LEXER, ‘base_letter’, ‘YES’);

 

3.2 Generic language grouped, using “mixed case” and “base letter” :

After:
ctx_ddl.create_preference( GENERIC_LEXER, ‘BASIC_LEXER’ );

Add:
ctx_ddl.set_attribute (GENERIC_LEXER, ‘mixed_case’, ‘YES’);
ctx_ddl.set_attribute (GENERIC_LEXER, ‘base_letter’, ‘YES’);

What is mixed_case ?
Specify whether the lexer leaves the tokens exactly as they appear in the text or converts the tokens to all uppercase. The default is NO (tokens are converted to all uppercase).

What is base_letter ?
Specify whether characters that have diacritical marks (umlauts, cedillas, acute accents, and so on) are converted to their base form before being stored in the Text index.

 

4. Re-create the indexes using script “ctxcrind.sql” from MidTier ($ORACLE_HOME/portal/admin/plsql/wws)
This script will drop the preferences and re-create using sbrimtlx.sql script.

connect into database with portal user and run @ctxcrind.sql;

 

5. It’s recomended set some indexes to refresh on commit (set true) and others indexes to manual refresh (set false):

WWSBR_CORNER_CTX_INDX – Page Index          – true
WWSBR_DOC_CTX_INDX    – Document Index      – false
WWSBR_PERSP_CTX_INDX  – Perspective Index   – true
WWSBR_THING_CTX_INDX  – Item Index          – true
WWSBR_TOPIC_CTX_INDX  – Category Index      – true
WWSBR_URL_CTX_INDX    – URL Index           – false

5.1  Connect into database with portal user and run:

exec wwv_context.commit_sync(‘WWSBR_CORNER_CTX_INDX’, true);
exec wwv_context.commit_sync(‘WWSBR_DOC_CTX_INDX’, false);
exec wwv_context.commit_sync(‘WWSBR_PERSP_CTX_INDX’, true);
exec wwv_context.commit_sync(‘WWSBR_THING_CTX_INDX’, true);
exec wwv_context.commit_sync(‘WWSBR_TOPIC_CTX_INDX’, true);
exec wwv_context.commit_sync(‘WWSBR_URL_CTX_INDX’, false);

5.2 Put in crontab linux the refresh of all indexes marked to false (manual):

exec wwv_context.sync();

 

5.3 Check if indexes is marked :

@textstat.sql;

 

 

List of language agrouped in GENERIC_BASIC_LEXER :

*    ar ARABIC
*    bn BENGALI
*    bg BULGARIAN
*    ca CATALAN
*    cs CZECH
*    e SPANISH
*    eg EGYPTIAN
*    el GREEK
*    esa LATIN AMERICAN SPANISH
*    esm MEXICAN SPANISH
*    et ESTONIAN
*    f FRENCH
*    frc CANADIAN FRENCH
*    hr CROATIAN
*    hu HUNGARIAN
*    i ITALIAN
*    in INDONESIAN
*    is ICELANDIC
*    iw HEBREW
*    lt LITHUANIAN
*    lv LATVIAN
*    ms MALAY
*    pt PORTUGUESE
*    ptb BRAZILIAN PORTUGUESE
*    pl POLISH
*    ro ROMANIAN
*    ru RUSSIAN
*    sk SLOVAK
*    sl SLOVENIAN
*    th THAI
*    tr TURKISH
*    uk UKRAINIAN
*    vn VIETNAMESE

 

Good Luck !

 

3 Comments to "How to modify search lexer preferences in Oracle Portal"

  1. 09/15/2011 - 9:35 PM | Permalink

    Its excellent webpage, I was seeking for something like this

  2. 09/16/2011 - 1:59 PM | Permalink

    Many thanks earning the sincere efforts to share with you this particular. It’s my opinion good over it and wish to find out more. Whether it is OK, when you gain extra intense expertise, might anyone thought processes including far more content articles similar to brussels with a lot more information? It could be extremely handy plus helpful for me personally and my buddies.

  3. 09/28/2011 - 1:21 PM | Permalink

    You have brought up a very superb details , thanks for the post. vps hosting | virtual private server |

Leave a Reply