255: FOR multi_lexer_rec IN ( SELECT pre_owner, pre_name
256: FROM ctxsys.ctx_preferences
257: WHERE pre_name = 'EAM_ASSET_MULTI_LEXER' )
258: LOOP
259: ad_ctx_ddl.drop_preference (multi_lexer_rec.pre_owner ||'.'|| multi_lexer_rec.pre_name);
260: END LOOP;
261:
262: FOR sub_lexer_rec IN ( SELECT pre_owner, pre_name
263: FROM ctxsys.ctx_preferences
262: FOR sub_lexer_rec IN ( SELECT pre_owner, pre_name
263: FROM ctxsys.ctx_preferences
264: WHERE pre_name LIKE 'EAM_ASSET_LEXER%' )
265: LOOP
266: ad_ctx_ddl.drop_preference (sub_lexer_rec.pre_owner ||'.'|| sub_lexer_rec.pre_name);
267: END LOOP;
268:
269: FOR wordlist_rec IN ( SELECT pre_owner, pre_name
270: FROM ctxsys.ctx_preferences
269: FOR wordlist_rec IN ( SELECT pre_owner, pre_name
270: FROM ctxsys.ctx_preferences
271: WHERE pre_name = 'EAM_ASSET_WORDLIST' )
272: LOOP
273: ad_ctx_ddl.drop_preference (wordlist_rec.pre_owner ||'.'|| wordlist_rec.pre_name);
274: END LOOP;
275:
276: FOR stoplist_rec IN ( SELECT spl_owner, spl_name
277: FROM ctxsys.ctx_stoplists
276: FOR stoplist_rec IN ( SELECT spl_owner, spl_name
277: FROM ctxsys.ctx_stoplists
278: WHERE spl_name = 'EAM_ASSET_STOPLIST' )
279: LOOP
280: --ad_ctx_ddl.Drop_Stoplist (stoplist_rec.spl_owner || '.EAM_ASSET_STOPLIST');
281: ad_ctx_ddl.Drop_Stoplist (stoplist_rec.spl_owner || '.'|| stoplist_rec.spl_name);
282: END LOOP;
283:
284: FOR section_group_rec IN ( SELECT sgp_owner, sgp_name
277: FROM ctxsys.ctx_stoplists
278: WHERE spl_name = 'EAM_ASSET_STOPLIST' )
279: LOOP
280: --ad_ctx_ddl.Drop_Stoplist (stoplist_rec.spl_owner || '.EAM_ASSET_STOPLIST');
281: ad_ctx_ddl.Drop_Stoplist (stoplist_rec.spl_owner || '.'|| stoplist_rec.spl_name);
282: END LOOP;
283:
284: FOR section_group_rec IN ( SELECT sgp_owner, sgp_name
285: FROM ctxsys.ctx_section_groups
284: FOR section_group_rec IN ( SELECT sgp_owner, sgp_name
285: FROM ctxsys.ctx_section_groups
286: WHERE sgp_name = 'EAM_ASSET_SECTION_GROUP' )
287: LOOP
288: ad_ctx_ddl.Drop_Section_Group (section_group_rec.sgp_owner ||'.'|| section_group_rec.sgp_name);
289: END LOOP;
290:
291: FOR datastore_rec IN ( SELECT pre_owner, pre_name
292: FROM ctxsys.ctx_preferences
291: FOR datastore_rec IN ( SELECT pre_owner, pre_name
292: FROM ctxsys.ctx_preferences
293: WHERE pre_name = 'EAM_ASSET_DATASTORE' )
294: LOOP
295: ad_ctx_ddl.drop_preference (datastore_rec.pre_owner ||'.'|| datastore_rec.pre_name);
296: END LOOP;
297:
298: FOR storage_rec IN ( SELECT pre_owner, pre_name
299: FROM ctxsys.ctx_preferences
298: FOR storage_rec IN ( SELECT pre_owner, pre_name
299: FROM ctxsys.ctx_preferences
300: WHERE pre_name = 'EAM_ASSET_STORAGE' )
301: LOOP
302: ad_ctx_ddl.drop_preference (storage_rec.pre_owner ||'.'|| storage_rec.pre_name);
303: END LOOP;
304:
305: ------------------------------
306: -- Create STORAGE preference
325: AND table_name = 'EAM_ASSET_TEXT';
326:
327: Log_Line (l_api_name || ': creating STORAGE preference ...', FND_LOG.LEVEL_EVENT, l_api_name);
328:
329: ad_ctx_ddl.create_preference (g_Pref_Owner || '.EAM_ASSET_STORAGE', 'BASIC_STORAGE');
330:
331: ad_ctx_ddl.set_attribute (g_Pref_Owner || '.EAM_ASSET_STORAGE',
332: 'I_TABLE_CLAUSE', tspace_tbl_param);
333:
327: Log_Line (l_api_name || ': creating STORAGE preference ...', FND_LOG.LEVEL_EVENT, l_api_name);
328:
329: ad_ctx_ddl.create_preference (g_Pref_Owner || '.EAM_ASSET_STORAGE', 'BASIC_STORAGE');
330:
331: ad_ctx_ddl.set_attribute (g_Pref_Owner || '.EAM_ASSET_STORAGE',
332: 'I_TABLE_CLAUSE', tspace_tbl_param);
333:
334: ad_ctx_ddl.set_attribute (g_Pref_Owner || '.EAM_ASSET_STORAGE',
335: 'K_TABLE_CLAUSE', tspace_tbl_param);
330:
331: ad_ctx_ddl.set_attribute (g_Pref_Owner || '.EAM_ASSET_STORAGE',
332: 'I_TABLE_CLAUSE', tspace_tbl_param);
333:
334: ad_ctx_ddl.set_attribute (g_Pref_Owner || '.EAM_ASSET_STORAGE',
335: 'K_TABLE_CLAUSE', tspace_tbl_param);
336:
337: ad_ctx_ddl.set_attribute (g_Pref_Owner || '.EAM_ASSET_STORAGE',
338: 'R_TABLE_CLAUSE', tspace_tbl_param || ' LOB (data) STORE AS (CACHE)');
333:
334: ad_ctx_ddl.set_attribute (g_Pref_Owner || '.EAM_ASSET_STORAGE',
335: 'K_TABLE_CLAUSE', tspace_tbl_param);
336:
337: ad_ctx_ddl.set_attribute (g_Pref_Owner || '.EAM_ASSET_STORAGE',
338: 'R_TABLE_CLAUSE', tspace_tbl_param || ' LOB (data) STORE AS (CACHE)');
339:
340: -- Caching the "data" LOB column is the default (at later versions of Oracle Text).
341: -- For index specific STORAGE preference, setting the clause "lob (data) (cache reads)"
341: -- For index specific STORAGE preference, setting the clause "lob (data) (cache reads)"
342: -- should be ensured (the "lob .. store as" clause is only for newly added LOB columns).
343: -- alter table dr$prd_ctx_index$r modify lob (data) (cache reads);
344:
345: ad_ctx_ddl.set_attribute (g_Pref_Owner || '.EAM_ASSET_STORAGE',
346: 'N_TABLE_CLAUSE', tspace_tbl_param);
347:
348: ad_ctx_ddl.set_attribute (g_Pref_Owner || '.EAM_ASSET_STORAGE',
349: 'P_TABLE_CLAUSE', tspace_tbl_param);
344:
345: ad_ctx_ddl.set_attribute (g_Pref_Owner || '.EAM_ASSET_STORAGE',
346: 'N_TABLE_CLAUSE', tspace_tbl_param);
347:
348: ad_ctx_ddl.set_attribute (g_Pref_Owner || '.EAM_ASSET_STORAGE',
349: 'P_TABLE_CLAUSE', tspace_tbl_param);
350:
351: ad_ctx_ddl.set_attribute (g_Pref_Owner || '.EAM_ASSET_STORAGE',
352: 'I_INDEX_CLAUSE', tspace_idx_param || ' COMPRESS 2');
347:
348: ad_ctx_ddl.set_attribute (g_Pref_Owner || '.EAM_ASSET_STORAGE',
349: 'P_TABLE_CLAUSE', tspace_tbl_param);
350:
351: ad_ctx_ddl.set_attribute (g_Pref_Owner || '.EAM_ASSET_STORAGE',
352: 'I_INDEX_CLAUSE', tspace_idx_param || ' COMPRESS 2');
353:
354: --ad_ctx_ddl.set_attribute (g_Pref_Owner || '.EAM_ASSET_STORAGE',
355: -- 'I_ROWID_INDEX_CLAUSE', tspace_idx_param);
350:
351: ad_ctx_ddl.set_attribute (g_Pref_Owner || '.EAM_ASSET_STORAGE',
352: 'I_INDEX_CLAUSE', tspace_idx_param || ' COMPRESS 2');
353:
354: --ad_ctx_ddl.set_attribute (g_Pref_Owner || '.EAM_ASSET_STORAGE',
355: -- 'I_ROWID_INDEX_CLAUSE', tspace_idx_param);
356:
357: --------------------------------
358: -- Create DATASTORE preference
359: --------------------------------
360:
361: Log_Line (l_api_name || ': creating DATASTORE preference ...', FND_LOG.LEVEL_EVENT, l_api_name);
362:
363: ad_ctx_ddl.Create_Preference (g_Pref_Owner || '.EAM_ASSET_DATASTORE', 'USER_DATASTORE');
364:
365: ad_ctx_ddl.Set_Attribute (g_Pref_Owner || '.EAM_ASSET_DATASTORE', 'OUTPUT_TYPE', 'CLOB');
366: ad_ctx_ddl.Set_Attribute (g_Pref_Owner || '.EAM_ASSET_DATASTORE', 'PROCEDURE', '"EAM_TEXT_CTX_PKG"."Get_Asset_Text_CLOB"');
367:
361: Log_Line (l_api_name || ': creating DATASTORE preference ...', FND_LOG.LEVEL_EVENT, l_api_name);
362:
363: ad_ctx_ddl.Create_Preference (g_Pref_Owner || '.EAM_ASSET_DATASTORE', 'USER_DATASTORE');
364:
365: ad_ctx_ddl.Set_Attribute (g_Pref_Owner || '.EAM_ASSET_DATASTORE', 'OUTPUT_TYPE', 'CLOB');
366: ad_ctx_ddl.Set_Attribute (g_Pref_Owner || '.EAM_ASSET_DATASTORE', 'PROCEDURE', '"EAM_TEXT_CTX_PKG"."Get_Asset_Text_CLOB"');
367:
368: --ad_ctx_ddl.Set_Attribute (g_Pref_Owner || '.EAM_ASSET_DATASTORE', 'OUTPUT_TYPE', 'VARCHAR2');
369: --ad_ctx_ddl.Set_Attribute (g_Pref_Owner || '.EAM_ASSET_DATASTORE', 'PROCEDURE', '"EAM_TEXT_CTX_PKG"."Get_Asset_Text_VARCHAR2"');
362:
363: ad_ctx_ddl.Create_Preference (g_Pref_Owner || '.EAM_ASSET_DATASTORE', 'USER_DATASTORE');
364:
365: ad_ctx_ddl.Set_Attribute (g_Pref_Owner || '.EAM_ASSET_DATASTORE', 'OUTPUT_TYPE', 'CLOB');
366: ad_ctx_ddl.Set_Attribute (g_Pref_Owner || '.EAM_ASSET_DATASTORE', 'PROCEDURE', '"EAM_TEXT_CTX_PKG"."Get_Asset_Text_CLOB"');
367:
368: --ad_ctx_ddl.Set_Attribute (g_Pref_Owner || '.EAM_ASSET_DATASTORE', 'OUTPUT_TYPE', 'VARCHAR2');
369: --ad_ctx_ddl.Set_Attribute (g_Pref_Owner || '.EAM_ASSET_DATASTORE', 'PROCEDURE', '"EAM_TEXT_CTX_PKG"."Get_Asset_Text_VARCHAR2"');
370:
364:
365: ad_ctx_ddl.Set_Attribute (g_Pref_Owner || '.EAM_ASSET_DATASTORE', 'OUTPUT_TYPE', 'CLOB');
366: ad_ctx_ddl.Set_Attribute (g_Pref_Owner || '.EAM_ASSET_DATASTORE', 'PROCEDURE', '"EAM_TEXT_CTX_PKG"."Get_Asset_Text_CLOB"');
367:
368: --ad_ctx_ddl.Set_Attribute (g_Pref_Owner || '.EAM_ASSET_DATASTORE', 'OUTPUT_TYPE', 'VARCHAR2');
369: --ad_ctx_ddl.Set_Attribute (g_Pref_Owner || '.EAM_ASSET_DATASTORE', 'PROCEDURE', '"EAM_TEXT_CTX_PKG"."Get_Asset_Text_VARCHAR2"');
370:
371: ------------------------------------
372: -- Create SECTION GROUP preference
365: ad_ctx_ddl.Set_Attribute (g_Pref_Owner || '.EAM_ASSET_DATASTORE', 'OUTPUT_TYPE', 'CLOB');
366: ad_ctx_ddl.Set_Attribute (g_Pref_Owner || '.EAM_ASSET_DATASTORE', 'PROCEDURE', '"EAM_TEXT_CTX_PKG"."Get_Asset_Text_CLOB"');
367:
368: --ad_ctx_ddl.Set_Attribute (g_Pref_Owner || '.EAM_ASSET_DATASTORE', 'OUTPUT_TYPE', 'VARCHAR2');
369: --ad_ctx_ddl.Set_Attribute (g_Pref_Owner || '.EAM_ASSET_DATASTORE', 'PROCEDURE', '"EAM_TEXT_CTX_PKG"."Get_Asset_Text_VARCHAR2"');
370:
371: ------------------------------------
372: -- Create SECTION GROUP preference
373: ------------------------------------
373: ------------------------------------
374:
375: --Log_Line (l_api_name || ': creating SECTION_GROUP preference ...', FND_LOG.LEVEL_EVENT, l_api_name);
376:
377: ad_ctx_ddl.Create_Section_Group (g_Pref_Owner || '.EAM_ASSET_SECTION_GROUP', 'AUTO_SECTION_GROUP');
378:
379: -------------------------------
380: -- Create STOPLIST preference
381: -------------------------------
382:
383: Log_Line (l_api_name || ': creating STOPLIST preference ...', FND_LOG.LEVEL_EVENT, l_api_name);
384:
385: -- This should create stoplist equivalent to CTXSYS.EMPTY_STOPLIST
386: ad_ctx_ddl.Create_Stoplist (g_Pref_Owner || '.EAM_ASSET_STOPLIST');
387:
388: -------------------------------
389: -- Create WORDLIST preference
390: -------------------------------
390: -------------------------------
391:
392: Log_Line (l_api_name || ': creating WORDLIST preference ...', FND_LOG.LEVEL_EVENT, l_api_name);
393:
394: ad_ctx_ddl.Create_Preference (g_Pref_Owner || '.EAM_ASSET_WORDLIST', 'BASIC_WORDLIST');
395:
396: -- Enable prefix indexing to improve performance for wildcard searches
397: ad_ctx_ddl.Set_Attribute (g_Pref_Owner || '.EAM_ASSET_WORDLIST', 'PREFIX_INDEX', 'TRUE');
398: ad_ctx_ddl.Set_Attribute (g_Pref_Owner || '.EAM_ASSET_WORDLIST', 'PREFIX_MIN_LENGTH', 2);
393:
394: ad_ctx_ddl.Create_Preference (g_Pref_Owner || '.EAM_ASSET_WORDLIST', 'BASIC_WORDLIST');
395:
396: -- Enable prefix indexing to improve performance for wildcard searches
397: ad_ctx_ddl.Set_Attribute (g_Pref_Owner || '.EAM_ASSET_WORDLIST', 'PREFIX_INDEX', 'TRUE');
398: ad_ctx_ddl.Set_Attribute (g_Pref_Owner || '.EAM_ASSET_WORDLIST', 'PREFIX_MIN_LENGTH', 2);
399: ad_ctx_ddl.Set_Attribute (g_Pref_Owner || '.EAM_ASSET_WORDLIST', 'PREFIX_MAX_LENGTH', 32);
400: ad_ctx_ddl.Set_Attribute (g_Pref_Owner || '.EAM_ASSET_WORDLIST', 'WILDCARD_MAXTERMS', 5000);
401:
394: ad_ctx_ddl.Create_Preference (g_Pref_Owner || '.EAM_ASSET_WORDLIST', 'BASIC_WORDLIST');
395:
396: -- Enable prefix indexing to improve performance for wildcard searches
397: ad_ctx_ddl.Set_Attribute (g_Pref_Owner || '.EAM_ASSET_WORDLIST', 'PREFIX_INDEX', 'TRUE');
398: ad_ctx_ddl.Set_Attribute (g_Pref_Owner || '.EAM_ASSET_WORDLIST', 'PREFIX_MIN_LENGTH', 2);
399: ad_ctx_ddl.Set_Attribute (g_Pref_Owner || '.EAM_ASSET_WORDLIST', 'PREFIX_MAX_LENGTH', 32);
400: ad_ctx_ddl.Set_Attribute (g_Pref_Owner || '.EAM_ASSET_WORDLIST', 'WILDCARD_MAXTERMS', 5000);
401:
402: -- This option should be TRUE only when left-truncated wildcard searching is expected
395:
396: -- Enable prefix indexing to improve performance for wildcard searches
397: ad_ctx_ddl.Set_Attribute (g_Pref_Owner || '.EAM_ASSET_WORDLIST', 'PREFIX_INDEX', 'TRUE');
398: ad_ctx_ddl.Set_Attribute (g_Pref_Owner || '.EAM_ASSET_WORDLIST', 'PREFIX_MIN_LENGTH', 2);
399: ad_ctx_ddl.Set_Attribute (g_Pref_Owner || '.EAM_ASSET_WORDLIST', 'PREFIX_MAX_LENGTH', 32);
400: ad_ctx_ddl.Set_Attribute (g_Pref_Owner || '.EAM_ASSET_WORDLIST', 'WILDCARD_MAXTERMS', 5000);
401:
402: -- This option should be TRUE only when left-truncated wildcard searching is expected
403: -- to be frequent and needs to be fast (at the cost of increased index time and space).
396: -- Enable prefix indexing to improve performance for wildcard searches
397: ad_ctx_ddl.Set_Attribute (g_Pref_Owner || '.EAM_ASSET_WORDLIST', 'PREFIX_INDEX', 'TRUE');
398: ad_ctx_ddl.Set_Attribute (g_Pref_Owner || '.EAM_ASSET_WORDLIST', 'PREFIX_MIN_LENGTH', 2);
399: ad_ctx_ddl.Set_Attribute (g_Pref_Owner || '.EAM_ASSET_WORDLIST', 'PREFIX_MAX_LENGTH', 32);
400: ad_ctx_ddl.Set_Attribute (g_Pref_Owner || '.EAM_ASSET_WORDLIST', 'WILDCARD_MAXTERMS', 5000);
401:
402: -- This option should be TRUE only when left-truncated wildcard searching is expected
403: -- to be frequent and needs to be fast (at the cost of increased index time and space).
404: --
401:
402: -- This option should be TRUE only when left-truncated wildcard searching is expected
403: -- to be frequent and needs to be fast (at the cost of increased index time and space).
404: --
405: ad_ctx_ddl.Set_Attribute (g_Pref_Owner || '.EAM_ASSET_WORDLIST', 'SUBSTRING_INDEX', 'FALSE');
406:
407: -- WORDLIST attribute defaults: STEMMER: 'ENGLISH'; FUZZY_MATCH: 'GENERIC'
408: -- Use automatic language detection for stemming and fuzzy matching
409: ad_ctx_ddl.Set_Attribute (g_Pref_Owner || '.EAM_ASSET_WORDLIST', 'STEMMER', 'AUTO');
405: ad_ctx_ddl.Set_Attribute (g_Pref_Owner || '.EAM_ASSET_WORDLIST', 'SUBSTRING_INDEX', 'FALSE');
406:
407: -- WORDLIST attribute defaults: STEMMER: 'ENGLISH'; FUZZY_MATCH: 'GENERIC'
408: -- Use automatic language detection for stemming and fuzzy matching
409: ad_ctx_ddl.Set_Attribute (g_Pref_Owner || '.EAM_ASSET_WORDLIST', 'STEMMER', 'AUTO');
410: ad_ctx_ddl.Set_Attribute (g_Pref_Owner || '.EAM_ASSET_WORDLIST', 'FUZZY_MATCH', 'AUTO');
411: ad_ctx_ddl.Set_Attribute (g_Pref_Owner || '.EAM_ASSET_WORDLIST', 'FUZZY_SCORE', 40);
412: ad_ctx_ddl.Set_Attribute (g_Pref_Owner || '.EAM_ASSET_WORDLIST', 'FUZZY_NUMRESULTS', 120);
413:
406:
407: -- WORDLIST attribute defaults: STEMMER: 'ENGLISH'; FUZZY_MATCH: 'GENERIC'
408: -- Use automatic language detection for stemming and fuzzy matching
409: ad_ctx_ddl.Set_Attribute (g_Pref_Owner || '.EAM_ASSET_WORDLIST', 'STEMMER', 'AUTO');
410: ad_ctx_ddl.Set_Attribute (g_Pref_Owner || '.EAM_ASSET_WORDLIST', 'FUZZY_MATCH', 'AUTO');
411: ad_ctx_ddl.Set_Attribute (g_Pref_Owner || '.EAM_ASSET_WORDLIST', 'FUZZY_SCORE', 40);
412: ad_ctx_ddl.Set_Attribute (g_Pref_Owner || '.EAM_ASSET_WORDLIST', 'FUZZY_NUMRESULTS', 120);
413:
414: -----------------------------------------------
407: -- WORDLIST attribute defaults: STEMMER: 'ENGLISH'; FUZZY_MATCH: 'GENERIC'
408: -- Use automatic language detection for stemming and fuzzy matching
409: ad_ctx_ddl.Set_Attribute (g_Pref_Owner || '.EAM_ASSET_WORDLIST', 'STEMMER', 'AUTO');
410: ad_ctx_ddl.Set_Attribute (g_Pref_Owner || '.EAM_ASSET_WORDLIST', 'FUZZY_MATCH', 'AUTO');
411: ad_ctx_ddl.Set_Attribute (g_Pref_Owner || '.EAM_ASSET_WORDLIST', 'FUZZY_SCORE', 40);
412: ad_ctx_ddl.Set_Attribute (g_Pref_Owner || '.EAM_ASSET_WORDLIST', 'FUZZY_NUMRESULTS', 120);
413:
414: -----------------------------------------------
415: -- Create language-specific LEXER preferences
408: -- Use automatic language detection for stemming and fuzzy matching
409: ad_ctx_ddl.Set_Attribute (g_Pref_Owner || '.EAM_ASSET_WORDLIST', 'STEMMER', 'AUTO');
410: ad_ctx_ddl.Set_Attribute (g_Pref_Owner || '.EAM_ASSET_WORDLIST', 'FUZZY_MATCH', 'AUTO');
411: ad_ctx_ddl.Set_Attribute (g_Pref_Owner || '.EAM_ASSET_WORDLIST', 'FUZZY_SCORE', 40);
412: ad_ctx_ddl.Set_Attribute (g_Pref_Owner || '.EAM_ASSET_WORDLIST', 'FUZZY_NUMRESULTS', 120);
413:
414: -----------------------------------------------
415: -- Create language-specific LEXER preferences
416: -----------------------------------------------
425:
426: IF ( Lang_Code_List(i) = 'JA' ) THEN
427: -- Use JAPANESE_LEXER if db charset is UTF8, JA16SJIS, or JA16EUC.
428: IF ( eam_text_util.get_DB_Version_Num >= 9.0 ) THEN
429: ad_ctx_ddl.Create_Preference (Lexer_Name, 'JAPANESE_LEXER');
430: ELSE
431: ad_ctx_ddl.Create_Preference (Lexer_Name, 'JAPANESE_VGRAM_LEXER');
432: END IF;
433:
427: -- Use JAPANESE_LEXER if db charset is UTF8, JA16SJIS, or JA16EUC.
428: IF ( eam_text_util.get_DB_Version_Num >= 9.0 ) THEN
429: ad_ctx_ddl.Create_Preference (Lexer_Name, 'JAPANESE_LEXER');
430: ELSE
431: ad_ctx_ddl.Create_Preference (Lexer_Name, 'JAPANESE_VGRAM_LEXER');
432: END IF;
433:
434: ELSIF ( Lang_Code_List(i) = 'KO' ) THEN
435: -- Use KOREAN_MORPH_LEXER if db charset is UTF8 or KO16KSC5601.
433:
434: ELSIF ( Lang_Code_List(i) = 'KO' ) THEN
435: -- Use KOREAN_MORPH_LEXER if db charset is UTF8 or KO16KSC5601.
436: IF ( eam_text_util.get_DB_Version_Num >= 9.0 ) THEN
437: ad_ctx_ddl.Create_Preference (Lexer_Name, 'KOREAN_MORPH_LEXER');
438: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'VERB_ADJECTIVE', 'TRUE');
439: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'ONE_CHAR_WORD', 'TRUE');
440: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'NUMBER', 'TRUE');
441: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'COMPOSITE', 'NGRAM');
434: ELSIF ( Lang_Code_List(i) = 'KO' ) THEN
435: -- Use KOREAN_MORPH_LEXER if db charset is UTF8 or KO16KSC5601.
436: IF ( eam_text_util.get_DB_Version_Num >= 9.0 ) THEN
437: ad_ctx_ddl.Create_Preference (Lexer_Name, 'KOREAN_MORPH_LEXER');
438: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'VERB_ADJECTIVE', 'TRUE');
439: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'ONE_CHAR_WORD', 'TRUE');
440: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'NUMBER', 'TRUE');
441: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'COMPOSITE', 'NGRAM');
442: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'MORPHEME', 'TRUE');
435: -- Use KOREAN_MORPH_LEXER if db charset is UTF8 or KO16KSC5601.
436: IF ( eam_text_util.get_DB_Version_Num >= 9.0 ) THEN
437: ad_ctx_ddl.Create_Preference (Lexer_Name, 'KOREAN_MORPH_LEXER');
438: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'VERB_ADJECTIVE', 'TRUE');
439: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'ONE_CHAR_WORD', 'TRUE');
440: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'NUMBER', 'TRUE');
441: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'COMPOSITE', 'NGRAM');
442: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'MORPHEME', 'TRUE');
443: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'HANJA', 'FALSE');
436: IF ( eam_text_util.get_DB_Version_Num >= 9.0 ) THEN
437: ad_ctx_ddl.Create_Preference (Lexer_Name, 'KOREAN_MORPH_LEXER');
438: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'VERB_ADJECTIVE', 'TRUE');
439: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'ONE_CHAR_WORD', 'TRUE');
440: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'NUMBER', 'TRUE');
441: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'COMPOSITE', 'NGRAM');
442: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'MORPHEME', 'TRUE');
443: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'HANJA', 'FALSE');
444: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'LONG_WORD', 'TRUE');
437: ad_ctx_ddl.Create_Preference (Lexer_Name, 'KOREAN_MORPH_LEXER');
438: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'VERB_ADJECTIVE', 'TRUE');
439: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'ONE_CHAR_WORD', 'TRUE');
440: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'NUMBER', 'TRUE');
441: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'COMPOSITE', 'NGRAM');
442: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'MORPHEME', 'TRUE');
443: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'HANJA', 'FALSE');
444: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'LONG_WORD', 'TRUE');
445: --ad_ctx_ddl.Set_Attribute (Lexer_Name, 'JAPANESE', 'FALSE');
438: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'VERB_ADJECTIVE', 'TRUE');
439: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'ONE_CHAR_WORD', 'TRUE');
440: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'NUMBER', 'TRUE');
441: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'COMPOSITE', 'NGRAM');
442: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'MORPHEME', 'TRUE');
443: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'HANJA', 'FALSE');
444: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'LONG_WORD', 'TRUE');
445: --ad_ctx_ddl.Set_Attribute (Lexer_Name, 'JAPANESE', 'FALSE');
446: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'ENGLISH', 'TRUE');
439: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'ONE_CHAR_WORD', 'TRUE');
440: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'NUMBER', 'TRUE');
441: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'COMPOSITE', 'NGRAM');
442: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'MORPHEME', 'TRUE');
443: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'HANJA', 'FALSE');
444: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'LONG_WORD', 'TRUE');
445: --ad_ctx_ddl.Set_Attribute (Lexer_Name, 'JAPANESE', 'FALSE');
446: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'ENGLISH', 'TRUE');
447: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'TO_UPPER', 'TRUE');
440: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'NUMBER', 'TRUE');
441: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'COMPOSITE', 'NGRAM');
442: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'MORPHEME', 'TRUE');
443: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'HANJA', 'FALSE');
444: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'LONG_WORD', 'TRUE');
445: --ad_ctx_ddl.Set_Attribute (Lexer_Name, 'JAPANESE', 'FALSE');
446: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'ENGLISH', 'TRUE');
447: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'TO_UPPER', 'TRUE');
448: ELSE
441: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'COMPOSITE', 'NGRAM');
442: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'MORPHEME', 'TRUE');
443: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'HANJA', 'FALSE');
444: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'LONG_WORD', 'TRUE');
445: --ad_ctx_ddl.Set_Attribute (Lexer_Name, 'JAPANESE', 'FALSE');
446: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'ENGLISH', 'TRUE');
447: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'TO_UPPER', 'TRUE');
448: ELSE
449: ad_ctx_ddl.Create_Preference (Lexer_Name, 'KOREAN_LEXER');
442: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'MORPHEME', 'TRUE');
443: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'HANJA', 'FALSE');
444: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'LONG_WORD', 'TRUE');
445: --ad_ctx_ddl.Set_Attribute (Lexer_Name, 'JAPANESE', 'FALSE');
446: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'ENGLISH', 'TRUE');
447: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'TO_UPPER', 'TRUE');
448: ELSE
449: ad_ctx_ddl.Create_Preference (Lexer_Name, 'KOREAN_LEXER');
450: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'VERB', 'TRUE');
443: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'HANJA', 'FALSE');
444: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'LONG_WORD', 'TRUE');
445: --ad_ctx_ddl.Set_Attribute (Lexer_Name, 'JAPANESE', 'FALSE');
446: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'ENGLISH', 'TRUE');
447: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'TO_UPPER', 'TRUE');
448: ELSE
449: ad_ctx_ddl.Create_Preference (Lexer_Name, 'KOREAN_LEXER');
450: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'VERB', 'TRUE');
451: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'ADJECTIVE', 'TRUE');
445: --ad_ctx_ddl.Set_Attribute (Lexer_Name, 'JAPANESE', 'FALSE');
446: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'ENGLISH', 'TRUE');
447: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'TO_UPPER', 'TRUE');
448: ELSE
449: ad_ctx_ddl.Create_Preference (Lexer_Name, 'KOREAN_LEXER');
450: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'VERB', 'TRUE');
451: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'ADJECTIVE', 'TRUE');
452: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'ADVERB', 'TRUE');
453: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'ONECHAR', 'TRUE');
446: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'ENGLISH', 'TRUE');
447: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'TO_UPPER', 'TRUE');
448: ELSE
449: ad_ctx_ddl.Create_Preference (Lexer_Name, 'KOREAN_LEXER');
450: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'VERB', 'TRUE');
451: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'ADJECTIVE', 'TRUE');
452: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'ADVERB', 'TRUE');
453: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'ONECHAR', 'TRUE');
454: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'NUMBER', 'TRUE');
447: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'TO_UPPER', 'TRUE');
448: ELSE
449: ad_ctx_ddl.Create_Preference (Lexer_Name, 'KOREAN_LEXER');
450: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'VERB', 'TRUE');
451: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'ADJECTIVE', 'TRUE');
452: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'ADVERB', 'TRUE');
453: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'ONECHAR', 'TRUE');
454: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'NUMBER', 'TRUE');
455: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'COMPOSITE', 'TRUE');
448: ELSE
449: ad_ctx_ddl.Create_Preference (Lexer_Name, 'KOREAN_LEXER');
450: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'VERB', 'TRUE');
451: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'ADJECTIVE', 'TRUE');
452: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'ADVERB', 'TRUE');
453: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'ONECHAR', 'TRUE');
454: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'NUMBER', 'TRUE');
455: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'COMPOSITE', 'TRUE');
456: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'MORPHEME', 'TRUE');
449: ad_ctx_ddl.Create_Preference (Lexer_Name, 'KOREAN_LEXER');
450: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'VERB', 'TRUE');
451: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'ADJECTIVE', 'TRUE');
452: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'ADVERB', 'TRUE');
453: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'ONECHAR', 'TRUE');
454: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'NUMBER', 'TRUE');
455: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'COMPOSITE', 'TRUE');
456: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'MORPHEME', 'TRUE');
457: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'TOHANGEUL', 'TRUE');
450: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'VERB', 'TRUE');
451: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'ADJECTIVE', 'TRUE');
452: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'ADVERB', 'TRUE');
453: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'ONECHAR', 'TRUE');
454: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'NUMBER', 'TRUE');
455: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'COMPOSITE', 'TRUE');
456: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'MORPHEME', 'TRUE');
457: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'TOHANGEUL', 'TRUE');
458: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'TOUPPER', 'TRUE');
451: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'ADJECTIVE', 'TRUE');
452: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'ADVERB', 'TRUE');
453: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'ONECHAR', 'TRUE');
454: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'NUMBER', 'TRUE');
455: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'COMPOSITE', 'TRUE');
456: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'MORPHEME', 'TRUE');
457: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'TOHANGEUL', 'TRUE');
458: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'TOUPPER', 'TRUE');
459: END IF;
452: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'ADVERB', 'TRUE');
453: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'ONECHAR', 'TRUE');
454: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'NUMBER', 'TRUE');
455: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'COMPOSITE', 'TRUE');
456: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'MORPHEME', 'TRUE');
457: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'TOHANGEUL', 'TRUE');
458: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'TOUPPER', 'TRUE');
459: END IF;
460:
453: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'ONECHAR', 'TRUE');
454: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'NUMBER', 'TRUE');
455: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'COMPOSITE', 'TRUE');
456: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'MORPHEME', 'TRUE');
457: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'TOHANGEUL', 'TRUE');
458: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'TOUPPER', 'TRUE');
459: END IF;
460:
461: ELSIF ( Lang_Code_List(i) IN ('ZHS', 'ZHT') ) THEN
454: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'NUMBER', 'TRUE');
455: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'COMPOSITE', 'TRUE');
456: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'MORPHEME', 'TRUE');
457: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'TOHANGEUL', 'TRUE');
458: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'TOUPPER', 'TRUE');
459: END IF;
460:
461: ELSIF ( Lang_Code_List(i) IN ('ZHS', 'ZHT') ) THEN
462: IF ( eam_text_util.get_DB_Version_Num >= 9.2 ) THEN
459: END IF;
460:
461: ELSIF ( Lang_Code_List(i) IN ('ZHS', 'ZHT') ) THEN
462: IF ( eam_text_util.get_DB_Version_Num >= 9.2 ) THEN
463: ad_ctx_ddl.Create_Preference (Lexer_Name, 'CHINESE_LEXER');
464: ELSE
465: ad_ctx_ddl.Create_Preference (Lexer_Name, 'CHINESE_VGRAM_LEXER');
466: END IF;
467:
461: ELSIF ( Lang_Code_List(i) IN ('ZHS', 'ZHT') ) THEN
462: IF ( eam_text_util.get_DB_Version_Num >= 9.2 ) THEN
463: ad_ctx_ddl.Create_Preference (Lexer_Name, 'CHINESE_LEXER');
464: ELSE
465: ad_ctx_ddl.Create_Preference (Lexer_Name, 'CHINESE_VGRAM_LEXER');
466: END IF;
467:
468: ELSE
469: -- All other languages use basic lexer.
469: -- All other languages use basic lexer.
470: */
471: /* For now we will use basic lexer only */
472:
473: ad_ctx_ddl.Create_Preference (Lexer_Name, 'BASIC_LEXER');
474:
475: -- The following language-independent attributes are
476: -- common to the BASIC_LEXER preference object.
477:
474:
475: -- The following language-independent attributes are
476: -- common to the BASIC_LEXER preference object.
477:
478: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'INDEX_TEXT', 'YES');
479: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'INDEX_THEMES', 'NO');
480:
481: -- For printjoin characters include all possible flex segment separators
482: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'PRINTJOINS', '-_*~^+.$#@:|&');
475: -- The following language-independent attributes are
476: -- common to the BASIC_LEXER preference object.
477:
478: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'INDEX_TEXT', 'YES');
479: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'INDEX_THEMES', 'NO');
480:
481: -- For printjoin characters include all possible flex segment separators
482: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'PRINTJOINS', '-_*~^+.$#@:|&');
483: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'CONTINUATION', '-\');
478: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'INDEX_TEXT', 'YES');
479: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'INDEX_THEMES', 'NO');
480:
481: -- For printjoin characters include all possible flex segment separators
482: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'PRINTJOINS', '-_*~^+.$#@:|&');
483: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'CONTINUATION', '-\');
484: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'PUNCTUATIONS', '.?!');
485:
486: -- The default values for numjoin and numgroup are determined by
479: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'INDEX_THEMES', 'NO');
480:
481: -- For printjoin characters include all possible flex segment separators
482: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'PRINTJOINS', '-_*~^+.$#@:|&');
483: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'CONTINUATION', '-\');
484: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'PUNCTUATIONS', '.?!');
485:
486: -- The default values for numjoin and numgroup are determined by
487: -- the NLS initialization parameters that are specified for the database.
480:
481: -- For printjoin characters include all possible flex segment separators
482: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'PRINTJOINS', '-_*~^+.$#@:|&');
483: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'CONTINUATION', '-\');
484: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'PUNCTUATIONS', '.?!');
485:
486: -- The default values for numjoin and numgroup are determined by
487: -- the NLS initialization parameters that are specified for the database.
488: --ad_ctx_ddl.Set_Attribute (Lexer_Name, 'NUMGROUP', ',');
484: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'PUNCTUATIONS', '.?!');
485:
486: -- The default values for numjoin and numgroup are determined by
487: -- the NLS initialization parameters that are specified for the database.
488: --ad_ctx_ddl.Set_Attribute (Lexer_Name, 'NUMGROUP', ',');
489: --ad_ctx_ddl.Set_Attribute (Lexer_Name, 'NUMJOIN', '.');
490:
491: -- Stem indexing stems tokens at indexing time to a single base form in addition
492: -- to the normal forms. This enables better query performance for stem ($) queries.
485:
486: -- The default values for numjoin and numgroup are determined by
487: -- the NLS initialization parameters that are specified for the database.
488: --ad_ctx_ddl.Set_Attribute (Lexer_Name, 'NUMGROUP', ',');
489: --ad_ctx_ddl.Set_Attribute (Lexer_Name, 'NUMJOIN', '.');
490:
491: -- Stem indexing stems tokens at indexing time to a single base form in addition
492: -- to the normal forms. This enables better query performance for stem ($) queries.
493:
495: -- This would not affect stem expansion (with $) at query time.
496: --
497: --IF ( eam_text_util.get_DB_Version_Num >= 9.2 ) THEN
498: -- IF ( Lang_Code_List(i) IN ('US', 'GB') ) THEN
499: -- ad_ctx_ddl.Set_Attribute (Lexer_Name, 'INDEX_STEMS', 'ENGLISH');
500: -- ELSIF ( Lang_Code_List(i) = 'NL' ) THEN
501: -- ad_ctx_ddl.Set_Attribute (Lexer_Name, 'INDEX_STEMS', 'DUTCH');
502: -- ELSIF ( Lang_Code_List(i) = 'D' ) THEN
503: -- ad_ctx_ddl.Set_Attribute (Lexer_Name, 'INDEX_STEMS', 'GERMAN');
497: --IF ( eam_text_util.get_DB_Version_Num >= 9.2 ) THEN
498: -- IF ( Lang_Code_List(i) IN ('US', 'GB') ) THEN
499: -- ad_ctx_ddl.Set_Attribute (Lexer_Name, 'INDEX_STEMS', 'ENGLISH');
500: -- ELSIF ( Lang_Code_List(i) = 'NL' ) THEN
501: -- ad_ctx_ddl.Set_Attribute (Lexer_Name, 'INDEX_STEMS', 'DUTCH');
502: -- ELSIF ( Lang_Code_List(i) = 'D' ) THEN
503: -- ad_ctx_ddl.Set_Attribute (Lexer_Name, 'INDEX_STEMS', 'GERMAN');
504: -- ELSIF ( Lang_Code_List(i) = 'F' ) THEN
505: -- ad_ctx_ddl.Set_Attribute (Lexer_Name, 'INDEX_STEMS', 'FRENCH');
499: -- ad_ctx_ddl.Set_Attribute (Lexer_Name, 'INDEX_STEMS', 'ENGLISH');
500: -- ELSIF ( Lang_Code_List(i) = 'NL' ) THEN
501: -- ad_ctx_ddl.Set_Attribute (Lexer_Name, 'INDEX_STEMS', 'DUTCH');
502: -- ELSIF ( Lang_Code_List(i) = 'D' ) THEN
503: -- ad_ctx_ddl.Set_Attribute (Lexer_Name, 'INDEX_STEMS', 'GERMAN');
504: -- ELSIF ( Lang_Code_List(i) = 'F' ) THEN
505: -- ad_ctx_ddl.Set_Attribute (Lexer_Name, 'INDEX_STEMS', 'FRENCH');
506: -- ELSIF ( Lang_Code_List(i) = 'I' ) THEN
507: -- ad_ctx_ddl.Set_Attribute (Lexer_Name, 'INDEX_STEMS', 'ITALIAN');
501: -- ad_ctx_ddl.Set_Attribute (Lexer_Name, 'INDEX_STEMS', 'DUTCH');
502: -- ELSIF ( Lang_Code_List(i) = 'D' ) THEN
503: -- ad_ctx_ddl.Set_Attribute (Lexer_Name, 'INDEX_STEMS', 'GERMAN');
504: -- ELSIF ( Lang_Code_List(i) = 'F' ) THEN
505: -- ad_ctx_ddl.Set_Attribute (Lexer_Name, 'INDEX_STEMS', 'FRENCH');
506: -- ELSIF ( Lang_Code_List(i) = 'I' ) THEN
507: -- ad_ctx_ddl.Set_Attribute (Lexer_Name, 'INDEX_STEMS', 'ITALIAN');
508: -- ELSIF ( Lang_Code_List(i) IN ('E', 'ESA') ) THEN
509: -- ad_ctx_ddl.Set_Attribute (Lexer_Name, 'INDEX_STEMS', 'SPANISH');
503: -- ad_ctx_ddl.Set_Attribute (Lexer_Name, 'INDEX_STEMS', 'GERMAN');
504: -- ELSIF ( Lang_Code_List(i) = 'F' ) THEN
505: -- ad_ctx_ddl.Set_Attribute (Lexer_Name, 'INDEX_STEMS', 'FRENCH');
506: -- ELSIF ( Lang_Code_List(i) = 'I' ) THEN
507: -- ad_ctx_ddl.Set_Attribute (Lexer_Name, 'INDEX_STEMS', 'ITALIAN');
508: -- ELSIF ( Lang_Code_List(i) IN ('E', 'ESA') ) THEN
509: -- ad_ctx_ddl.Set_Attribute (Lexer_Name, 'INDEX_STEMS', 'SPANISH');
510: -- END IF;
511: --END IF;
505: -- ad_ctx_ddl.Set_Attribute (Lexer_Name, 'INDEX_STEMS', 'FRENCH');
506: -- ELSIF ( Lang_Code_List(i) = 'I' ) THEN
507: -- ad_ctx_ddl.Set_Attribute (Lexer_Name, 'INDEX_STEMS', 'ITALIAN');
508: -- ELSIF ( Lang_Code_List(i) IN ('E', 'ESA') ) THEN
509: -- ad_ctx_ddl.Set_Attribute (Lexer_Name, 'INDEX_STEMS', 'SPANISH');
510: -- END IF;
511: --END IF;
512: /*
513: -- Language-specific attribute values for BASIC_LEXER preference object
512: /*
513: -- Language-specific attribute values for BASIC_LEXER preference object
514:
515: IF ( Lang_Code_List(i) = 'NL' ) THEN
516: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'COMPOSITE', 'DUTCH');
517:
518: ELSIF ( Lang_Code_List(i) = 'D' ) THEN
519: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'COMPOSITE', 'GERMAN');
520: -- Basic lexer in 8.1.7 allows the MIXED_CASE to be FALSE when COMPOSITE is set.
515: IF ( Lang_Code_List(i) = 'NL' ) THEN
516: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'COMPOSITE', 'DUTCH');
517:
518: ELSIF ( Lang_Code_List(i) = 'D' ) THEN
519: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'COMPOSITE', 'GERMAN');
520: -- Basic lexer in 8.1.7 allows the MIXED_CASE to be FALSE when COMPOSITE is set.
521: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'MIXED_CASE', 'NO');
522: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'ALTERNATE_SPELLING', 'GERMAN');
523:
517:
518: ELSIF ( Lang_Code_List(i) = 'D' ) THEN
519: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'COMPOSITE', 'GERMAN');
520: -- Basic lexer in 8.1.7 allows the MIXED_CASE to be FALSE when COMPOSITE is set.
521: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'MIXED_CASE', 'NO');
522: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'ALTERNATE_SPELLING', 'GERMAN');
523:
524: ELSIF ( Lang_Code_List(i) = 'DK' ) THEN
525: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'ALTERNATE_SPELLING', 'DANISH');
518: ELSIF ( Lang_Code_List(i) = 'D' ) THEN
519: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'COMPOSITE', 'GERMAN');
520: -- Basic lexer in 8.1.7 allows the MIXED_CASE to be FALSE when COMPOSITE is set.
521: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'MIXED_CASE', 'NO');
522: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'ALTERNATE_SPELLING', 'GERMAN');
523:
524: ELSIF ( Lang_Code_List(i) = 'DK' ) THEN
525: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'ALTERNATE_SPELLING', 'DANISH');
526:
521: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'MIXED_CASE', 'NO');
522: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'ALTERNATE_SPELLING', 'GERMAN');
523:
524: ELSIF ( Lang_Code_List(i) = 'DK' ) THEN
525: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'ALTERNATE_SPELLING', 'DANISH');
526:
527: ELSIF ( Lang_Code_List(i) = 'S' ) THEN
528: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'ALTERNATE_SPELLING', 'SWEDISH');
529:
524: ELSIF ( Lang_Code_List(i) = 'DK' ) THEN
525: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'ALTERNATE_SPELLING', 'DANISH');
526:
527: ELSIF ( Lang_Code_List(i) = 'S' ) THEN
528: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'ALTERNATE_SPELLING', 'SWEDISH');
529:
530: ELSIF ( Lang_Code_List(i) = 'N' ) THEN
531: -- Both Norwegian and Danish use the same special characters that are
532: -- rendered alternatively as "aa", "ae", and "oe".
529:
530: ELSIF ( Lang_Code_List(i) = 'N' ) THEN
531: -- Both Norwegian and Danish use the same special characters that are
532: -- rendered alternatively as "aa", "ae", and "oe".
533: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'ALTERNATE_SPELLING', 'DANISH');
534:
535: ELSIF ( Lang_Code_List(i) = 'F' ) THEN
536: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'BASE_LETTER', 'YES');
537:
532: -- rendered alternatively as "aa", "ae", and "oe".
533: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'ALTERNATE_SPELLING', 'DANISH');
534:
535: ELSIF ( Lang_Code_List(i) = 'F' ) THEN
536: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'BASE_LETTER', 'YES');
537:
538: ELSE
539: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'ALTERNATE_SPELLING', 'NONE');
540:
535: ELSIF ( Lang_Code_List(i) = 'F' ) THEN
536: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'BASE_LETTER', 'YES');
537:
538: ELSE
539: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'ALTERNATE_SPELLING', 'NONE');
540:
541: END IF;
542: END IF;
543:
548: ----------------------------------
549: /*
550: Log_Line (l_api_name || ': creating MULTI_LEXER preference ...', FND_LOG.LEVEL_EVENT, l_api_name);
551:
552: ad_ctx_ddl.Create_Preference (g_Pref_Owner || '.EAM_ASSET_MULTI_LEXER', 'MULTI_LEXER');
553:
554: FOR i IN Lang_Code_List.FIRST .. Lang_Code_List.LAST
555: LOOP
556: Lexer_Name := g_Pref_Owner || '.EAM_ASSET_LEXER_' || Lang_Code_List(i);
561: -- when adding the sub lexers:
562:
563: IF ( Lang_Code_List(i) = 'US' ) THEN
564: -- US English lexer to handle everything else.
565: ad_ctx_ddl.Add_Sub_Lexer ( g_Pref_Owner || '.EAM_ASSET_MULTI_LEXER', 'DEFAULT'
566: , g_Pref_Owner || '.EAM_ASSET_LEXER_US' );
567: ELSE
568: ad_ctx_ddl.Add_Sub_Lexer
569: ( lexer_name => g_Pref_Owner || '.EAM_ASSET_MULTI_LEXER'
564: -- US English lexer to handle everything else.
565: ad_ctx_ddl.Add_Sub_Lexer ( g_Pref_Owner || '.EAM_ASSET_MULTI_LEXER', 'DEFAULT'
566: , g_Pref_Owner || '.EAM_ASSET_LEXER_US' );
567: ELSE
568: ad_ctx_ddl.Add_Sub_Lexer
569: ( lexer_name => g_Pref_Owner || '.EAM_ASSET_MULTI_LEXER'
570: , language => Lang_Code_List(i)
571: , sub_lexer => Lexer_Name
572: --, alt_value => Lang_ISO_List(i)
977: FOR multi_lexer_rec IN ( SELECT pre_owner, pre_name
978: FROM ctxsys.ctx_preferences
979: WHERE pre_name = 'EAM_WORK_ORDER_MULTI_LEXER' )
980: LOOP
981: ad_ctx_ddl.drop_preference (multi_lexer_rec.pre_owner ||'.'|| multi_lexer_rec.pre_name);
982: END LOOP;
983:
984: FOR sub_lexer_rec IN ( SELECT pre_owner, pre_name
985: FROM ctxsys.ctx_preferences
984: FOR sub_lexer_rec IN ( SELECT pre_owner, pre_name
985: FROM ctxsys.ctx_preferences
986: WHERE pre_name LIKE 'EAM_WORK_ORDER_LEXER%' )
987: LOOP
988: ad_ctx_ddl.drop_preference (sub_lexer_rec.pre_owner ||'.'|| sub_lexer_rec.pre_name);
989: END LOOP;
990:
991: FOR wordlist_rec IN ( SELECT pre_owner, pre_name
992: FROM ctxsys.ctx_preferences
991: FOR wordlist_rec IN ( SELECT pre_owner, pre_name
992: FROM ctxsys.ctx_preferences
993: WHERE pre_name = 'EAM_WORK_ORDER_WORDLIST' )
994: LOOP
995: ad_ctx_ddl.drop_preference (wordlist_rec.pre_owner ||'.'|| wordlist_rec.pre_name);
996: END LOOP;
997:
998: FOR stoplist_rec IN ( SELECT spl_owner, spl_name
999: FROM ctxsys.ctx_stoplists
998: FOR stoplist_rec IN ( SELECT spl_owner, spl_name
999: FROM ctxsys.ctx_stoplists
1000: WHERE spl_name = 'EAM_WORK_ORDER_STOPLIST' )
1001: LOOP
1002: --ad_ctx_ddl.Drop_Stoplist (stoplist_rec.spl_owner || '.EAM_WORK_ORDER_STOPLIST');
1003: ad_ctx_ddl.Drop_Stoplist (stoplist_rec.spl_owner || '.'|| stoplist_rec.spl_name);
1004: END LOOP;
1005:
1006: FOR section_group_rec IN ( SELECT sgp_owner, sgp_name
999: FROM ctxsys.ctx_stoplists
1000: WHERE spl_name = 'EAM_WORK_ORDER_STOPLIST' )
1001: LOOP
1002: --ad_ctx_ddl.Drop_Stoplist (stoplist_rec.spl_owner || '.EAM_WORK_ORDER_STOPLIST');
1003: ad_ctx_ddl.Drop_Stoplist (stoplist_rec.spl_owner || '.'|| stoplist_rec.spl_name);
1004: END LOOP;
1005:
1006: FOR section_group_rec IN ( SELECT sgp_owner, sgp_name
1007: FROM ctxsys.ctx_section_groups
1006: FOR section_group_rec IN ( SELECT sgp_owner, sgp_name
1007: FROM ctxsys.ctx_section_groups
1008: WHERE sgp_name = 'EAM_WORK_ORDER_SECTION_GROUP' )
1009: LOOP
1010: ad_ctx_ddl.Drop_Section_Group (section_group_rec.sgp_owner ||'.'|| section_group_rec.sgp_name);
1011: END LOOP;
1012:
1013: FOR datastore_rec IN ( SELECT pre_owner, pre_name
1014: FROM ctxsys.ctx_preferences
1013: FOR datastore_rec IN ( SELECT pre_owner, pre_name
1014: FROM ctxsys.ctx_preferences
1015: WHERE pre_name = 'EAM_WORK_ORDER_DATASTORE' )
1016: LOOP
1017: ad_ctx_ddl.drop_preference (datastore_rec.pre_owner ||'.'|| datastore_rec.pre_name);
1018: END LOOP;
1019:
1020: FOR storage_rec IN ( SELECT pre_owner, pre_name
1021: FROM ctxsys.ctx_preferences
1020: FOR storage_rec IN ( SELECT pre_owner, pre_name
1021: FROM ctxsys.ctx_preferences
1022: WHERE pre_name = 'EAM_WORK_ORDER_STORAGE' )
1023: LOOP
1024: ad_ctx_ddl.drop_preference (storage_rec.pre_owner ||'.'|| storage_rec.pre_name);
1025: END LOOP;
1026:
1027: ------------------------------
1028: -- Create STORAGE preference
1047: AND table_name = 'EAM_WORK_ORDER_TEXT';
1048:
1049: Log_Line (l_api_name || ': creating STORAGE preference ...', FND_LOG.LEVEL_EVENT, l_api_name);
1050:
1051: ad_ctx_ddl.create_preference (g_Pref_Owner || '.EAM_WORK_ORDER_STORAGE', 'BASIC_STORAGE');
1052:
1053: ad_ctx_ddl.set_attribute (g_Pref_Owner || '.EAM_WORK_ORDER_STORAGE',
1054: 'I_TABLE_CLAUSE', tspace_tbl_param);
1055:
1049: Log_Line (l_api_name || ': creating STORAGE preference ...', FND_LOG.LEVEL_EVENT, l_api_name);
1050:
1051: ad_ctx_ddl.create_preference (g_Pref_Owner || '.EAM_WORK_ORDER_STORAGE', 'BASIC_STORAGE');
1052:
1053: ad_ctx_ddl.set_attribute (g_Pref_Owner || '.EAM_WORK_ORDER_STORAGE',
1054: 'I_TABLE_CLAUSE', tspace_tbl_param);
1055:
1056: ad_ctx_ddl.set_attribute (g_Pref_Owner || '.EAM_WORK_ORDER_STORAGE',
1057: 'K_TABLE_CLAUSE', tspace_tbl_param);
1052:
1053: ad_ctx_ddl.set_attribute (g_Pref_Owner || '.EAM_WORK_ORDER_STORAGE',
1054: 'I_TABLE_CLAUSE', tspace_tbl_param);
1055:
1056: ad_ctx_ddl.set_attribute (g_Pref_Owner || '.EAM_WORK_ORDER_STORAGE',
1057: 'K_TABLE_CLAUSE', tspace_tbl_param);
1058:
1059: ad_ctx_ddl.set_attribute (g_Pref_Owner || '.EAM_WORK_ORDER_STORAGE',
1060: 'R_TABLE_CLAUSE', tspace_tbl_param || ' LOB (data) STORE AS (CACHE)');
1055:
1056: ad_ctx_ddl.set_attribute (g_Pref_Owner || '.EAM_WORK_ORDER_STORAGE',
1057: 'K_TABLE_CLAUSE', tspace_tbl_param);
1058:
1059: ad_ctx_ddl.set_attribute (g_Pref_Owner || '.EAM_WORK_ORDER_STORAGE',
1060: 'R_TABLE_CLAUSE', tspace_tbl_param || ' LOB (data) STORE AS (CACHE)');
1061:
1062: -- Caching the "data" LOB column is the default (at later versions of Oracle Text).
1063: -- For index specific STORAGE preference, setting the clause "lob (data) (cache reads)"
1063: -- For index specific STORAGE preference, setting the clause "lob (data) (cache reads)"
1064: -- should be ensured (the "lob .. store as" clause is only for newly added LOB columns).
1065: -- alter table dr$prd_ctx_index$r modify lob (data) (cache reads);
1066:
1067: ad_ctx_ddl.set_attribute (g_Pref_Owner || '.EAM_WORK_ORDER_STORAGE',
1068: 'N_TABLE_CLAUSE', tspace_tbl_param);
1069:
1070: ad_ctx_ddl.set_attribute (g_Pref_Owner || '.EAM_WORK_ORDER_STORAGE',
1071: 'P_TABLE_CLAUSE', tspace_tbl_param);
1066:
1067: ad_ctx_ddl.set_attribute (g_Pref_Owner || '.EAM_WORK_ORDER_STORAGE',
1068: 'N_TABLE_CLAUSE', tspace_tbl_param);
1069:
1070: ad_ctx_ddl.set_attribute (g_Pref_Owner || '.EAM_WORK_ORDER_STORAGE',
1071: 'P_TABLE_CLAUSE', tspace_tbl_param);
1072:
1073: ad_ctx_ddl.set_attribute (g_Pref_Owner || '.EAM_WORK_ORDER_STORAGE',
1074: 'I_INDEX_CLAUSE', tspace_idx_param || ' COMPRESS 2');
1069:
1070: ad_ctx_ddl.set_attribute (g_Pref_Owner || '.EAM_WORK_ORDER_STORAGE',
1071: 'P_TABLE_CLAUSE', tspace_tbl_param);
1072:
1073: ad_ctx_ddl.set_attribute (g_Pref_Owner || '.EAM_WORK_ORDER_STORAGE',
1074: 'I_INDEX_CLAUSE', tspace_idx_param || ' COMPRESS 2');
1075:
1076: --ad_ctx_ddl.set_attribute (g_Pref_Owner || '.EAM_WORK_ORDER_STORAGE',
1077: -- 'I_ROWID_INDEX_CLAUSE', tspace_idx_param);
1072:
1073: ad_ctx_ddl.set_attribute (g_Pref_Owner || '.EAM_WORK_ORDER_STORAGE',
1074: 'I_INDEX_CLAUSE', tspace_idx_param || ' COMPRESS 2');
1075:
1076: --ad_ctx_ddl.set_attribute (g_Pref_Owner || '.EAM_WORK_ORDER_STORAGE',
1077: -- 'I_ROWID_INDEX_CLAUSE', tspace_idx_param);
1078:
1079: --------------------------------
1080: -- Create DATASTORE preference
1081: --------------------------------
1082:
1083: Log_Line (l_api_name || ': creating DATASTORE preference ...', FND_LOG.LEVEL_EVENT, l_api_name);
1084:
1085: ad_ctx_ddl.Create_Preference (g_Pref_Owner || '.EAM_WORK_ORDER_DATASTORE', 'USER_DATASTORE');
1086:
1087: ad_ctx_ddl.Set_Attribute (g_Pref_Owner || '.EAM_WORK_ORDER_DATASTORE', 'OUTPUT_TYPE', 'CLOB');
1088: ad_ctx_ddl.Set_Attribute (g_Pref_Owner || '.EAM_WORK_ORDER_DATASTORE', 'PROCEDURE', '"EAM_TEXT_CTX_PKG"."Get_Wo_Text_CLOB"');
1089:
1083: Log_Line (l_api_name || ': creating DATASTORE preference ...', FND_LOG.LEVEL_EVENT, l_api_name);
1084:
1085: ad_ctx_ddl.Create_Preference (g_Pref_Owner || '.EAM_WORK_ORDER_DATASTORE', 'USER_DATASTORE');
1086:
1087: ad_ctx_ddl.Set_Attribute (g_Pref_Owner || '.EAM_WORK_ORDER_DATASTORE', 'OUTPUT_TYPE', 'CLOB');
1088: ad_ctx_ddl.Set_Attribute (g_Pref_Owner || '.EAM_WORK_ORDER_DATASTORE', 'PROCEDURE', '"EAM_TEXT_CTX_PKG"."Get_Wo_Text_CLOB"');
1089:
1090: --ad_ctx_ddl.Set_Attribute (g_Pref_Owner || '.EAM_WORK_ORDER_DATASTORE', 'OUTPUT_TYPE', 'VARCHAR2');
1091: --ad_ctx_ddl.Set_Attribute (g_Pref_Owner || '.EAM_WORK_ORDER_DATASTORE', 'PROCEDURE', '"EAM_TEXT_CTX_PKG"."Get_Wo_Text_VARCHAR2"');
1084:
1085: ad_ctx_ddl.Create_Preference (g_Pref_Owner || '.EAM_WORK_ORDER_DATASTORE', 'USER_DATASTORE');
1086:
1087: ad_ctx_ddl.Set_Attribute (g_Pref_Owner || '.EAM_WORK_ORDER_DATASTORE', 'OUTPUT_TYPE', 'CLOB');
1088: ad_ctx_ddl.Set_Attribute (g_Pref_Owner || '.EAM_WORK_ORDER_DATASTORE', 'PROCEDURE', '"EAM_TEXT_CTX_PKG"."Get_Wo_Text_CLOB"');
1089:
1090: --ad_ctx_ddl.Set_Attribute (g_Pref_Owner || '.EAM_WORK_ORDER_DATASTORE', 'OUTPUT_TYPE', 'VARCHAR2');
1091: --ad_ctx_ddl.Set_Attribute (g_Pref_Owner || '.EAM_WORK_ORDER_DATASTORE', 'PROCEDURE', '"EAM_TEXT_CTX_PKG"."Get_Wo_Text_VARCHAR2"');
1092:
1086:
1087: ad_ctx_ddl.Set_Attribute (g_Pref_Owner || '.EAM_WORK_ORDER_DATASTORE', 'OUTPUT_TYPE', 'CLOB');
1088: ad_ctx_ddl.Set_Attribute (g_Pref_Owner || '.EAM_WORK_ORDER_DATASTORE', 'PROCEDURE', '"EAM_TEXT_CTX_PKG"."Get_Wo_Text_CLOB"');
1089:
1090: --ad_ctx_ddl.Set_Attribute (g_Pref_Owner || '.EAM_WORK_ORDER_DATASTORE', 'OUTPUT_TYPE', 'VARCHAR2');
1091: --ad_ctx_ddl.Set_Attribute (g_Pref_Owner || '.EAM_WORK_ORDER_DATASTORE', 'PROCEDURE', '"EAM_TEXT_CTX_PKG"."Get_Wo_Text_VARCHAR2"');
1092:
1093: ------------------------------------
1094: -- Create SECTION GROUP preference
1087: ad_ctx_ddl.Set_Attribute (g_Pref_Owner || '.EAM_WORK_ORDER_DATASTORE', 'OUTPUT_TYPE', 'CLOB');
1088: ad_ctx_ddl.Set_Attribute (g_Pref_Owner || '.EAM_WORK_ORDER_DATASTORE', 'PROCEDURE', '"EAM_TEXT_CTX_PKG"."Get_Wo_Text_CLOB"');
1089:
1090: --ad_ctx_ddl.Set_Attribute (g_Pref_Owner || '.EAM_WORK_ORDER_DATASTORE', 'OUTPUT_TYPE', 'VARCHAR2');
1091: --ad_ctx_ddl.Set_Attribute (g_Pref_Owner || '.EAM_WORK_ORDER_DATASTORE', 'PROCEDURE', '"EAM_TEXT_CTX_PKG"."Get_Wo_Text_VARCHAR2"');
1092:
1093: ------------------------------------
1094: -- Create SECTION GROUP preference
1095: ------------------------------------
1095: ------------------------------------
1096:
1097: --Log_Line (l_api_name || ': creating SECTION_GROUP preference ...', FND_LOG.LEVEL_EVENT, l_api_name);
1098:
1099: ad_ctx_ddl.Create_Section_Group (g_Pref_Owner || '.EAM_WORK_ORDER_SECTION_GROUP', 'AUTO_SECTION_GROUP');
1100:
1101: -------------------------------
1102: -- Create STOPLIST preference
1103: -------------------------------
1104:
1105: Log_Line (l_api_name || ': creating STOPLIST preference ...', FND_LOG.LEVEL_EVENT, l_api_name);
1106:
1107: -- This should create stoplist equivalent to CTXSYS.EMPTY_STOPLIST
1108: ad_ctx_ddl.Create_Stoplist (g_Pref_Owner || '.EAM_WORK_ORDER_STOPLIST');
1109:
1110: -------------------------------
1111: -- Create WORDLIST preference
1112: -------------------------------
1112: -------------------------------
1113:
1114: Log_Line (l_api_name || ': creating WORDLIST preference ...', FND_LOG.LEVEL_EVENT, l_api_name);
1115:
1116: ad_ctx_ddl.Create_Preference (g_Pref_Owner || '.EAM_WORK_ORDER_WORDLIST', 'BASIC_WORDLIST');
1117:
1118: -- Enable prefix indexing to improve performance for wildcard searches
1119: ad_ctx_ddl.Set_Attribute (g_Pref_Owner || '.EAM_WORK_ORDER_WORDLIST', 'PREFIX_INDEX', 'TRUE');
1120: ad_ctx_ddl.Set_Attribute (g_Pref_Owner || '.EAM_WORK_ORDER_WORDLIST', 'PREFIX_MIN_LENGTH', 2);
1115:
1116: ad_ctx_ddl.Create_Preference (g_Pref_Owner || '.EAM_WORK_ORDER_WORDLIST', 'BASIC_WORDLIST');
1117:
1118: -- Enable prefix indexing to improve performance for wildcard searches
1119: ad_ctx_ddl.Set_Attribute (g_Pref_Owner || '.EAM_WORK_ORDER_WORDLIST', 'PREFIX_INDEX', 'TRUE');
1120: ad_ctx_ddl.Set_Attribute (g_Pref_Owner || '.EAM_WORK_ORDER_WORDLIST', 'PREFIX_MIN_LENGTH', 2);
1121: ad_ctx_ddl.Set_Attribute (g_Pref_Owner || '.EAM_WORK_ORDER_WORDLIST', 'PREFIX_MAX_LENGTH', 32);
1122: ad_ctx_ddl.Set_Attribute (g_Pref_Owner || '.EAM_WORK_ORDER_WORDLIST', 'WILDCARD_MAXTERMS', 5000);
1123:
1116: ad_ctx_ddl.Create_Preference (g_Pref_Owner || '.EAM_WORK_ORDER_WORDLIST', 'BASIC_WORDLIST');
1117:
1118: -- Enable prefix indexing to improve performance for wildcard searches
1119: ad_ctx_ddl.Set_Attribute (g_Pref_Owner || '.EAM_WORK_ORDER_WORDLIST', 'PREFIX_INDEX', 'TRUE');
1120: ad_ctx_ddl.Set_Attribute (g_Pref_Owner || '.EAM_WORK_ORDER_WORDLIST', 'PREFIX_MIN_LENGTH', 2);
1121: ad_ctx_ddl.Set_Attribute (g_Pref_Owner || '.EAM_WORK_ORDER_WORDLIST', 'PREFIX_MAX_LENGTH', 32);
1122: ad_ctx_ddl.Set_Attribute (g_Pref_Owner || '.EAM_WORK_ORDER_WORDLIST', 'WILDCARD_MAXTERMS', 5000);
1123:
1124: -- This option should be TRUE only when left-truncated wildcard searching is expected
1117:
1118: -- Enable prefix indexing to improve performance for wildcard searches
1119: ad_ctx_ddl.Set_Attribute (g_Pref_Owner || '.EAM_WORK_ORDER_WORDLIST', 'PREFIX_INDEX', 'TRUE');
1120: ad_ctx_ddl.Set_Attribute (g_Pref_Owner || '.EAM_WORK_ORDER_WORDLIST', 'PREFIX_MIN_LENGTH', 2);
1121: ad_ctx_ddl.Set_Attribute (g_Pref_Owner || '.EAM_WORK_ORDER_WORDLIST', 'PREFIX_MAX_LENGTH', 32);
1122: ad_ctx_ddl.Set_Attribute (g_Pref_Owner || '.EAM_WORK_ORDER_WORDLIST', 'WILDCARD_MAXTERMS', 5000);
1123:
1124: -- This option should be TRUE only when left-truncated wildcard searching is expected
1125: -- to be frequent and needs to be fast (at the cost of increased index time and space).
1118: -- Enable prefix indexing to improve performance for wildcard searches
1119: ad_ctx_ddl.Set_Attribute (g_Pref_Owner || '.EAM_WORK_ORDER_WORDLIST', 'PREFIX_INDEX', 'TRUE');
1120: ad_ctx_ddl.Set_Attribute (g_Pref_Owner || '.EAM_WORK_ORDER_WORDLIST', 'PREFIX_MIN_LENGTH', 2);
1121: ad_ctx_ddl.Set_Attribute (g_Pref_Owner || '.EAM_WORK_ORDER_WORDLIST', 'PREFIX_MAX_LENGTH', 32);
1122: ad_ctx_ddl.Set_Attribute (g_Pref_Owner || '.EAM_WORK_ORDER_WORDLIST', 'WILDCARD_MAXTERMS', 5000);
1123:
1124: -- This option should be TRUE only when left-truncated wildcard searching is expected
1125: -- to be frequent and needs to be fast (at the cost of increased index time and space).
1126: --
1123:
1124: -- This option should be TRUE only when left-truncated wildcard searching is expected
1125: -- to be frequent and needs to be fast (at the cost of increased index time and space).
1126: --
1127: ad_ctx_ddl.Set_Attribute (g_Pref_Owner || '.EAM_WORK_ORDER_WORDLIST', 'SUBSTRING_INDEX', 'FALSE');
1128:
1129: -- WORDLIST attribute defaults: STEMMER: 'ENGLISH'; FUZZY_MATCH: 'GENERIC'
1130: -- Use automatic language detection for stemming and fuzzy matching
1131: ad_ctx_ddl.Set_Attribute (g_Pref_Owner || '.EAM_WORK_ORDER_WORDLIST', 'STEMMER', 'AUTO');
1127: ad_ctx_ddl.Set_Attribute (g_Pref_Owner || '.EAM_WORK_ORDER_WORDLIST', 'SUBSTRING_INDEX', 'FALSE');
1128:
1129: -- WORDLIST attribute defaults: STEMMER: 'ENGLISH'; FUZZY_MATCH: 'GENERIC'
1130: -- Use automatic language detection for stemming and fuzzy matching
1131: ad_ctx_ddl.Set_Attribute (g_Pref_Owner || '.EAM_WORK_ORDER_WORDLIST', 'STEMMER', 'AUTO');
1132: ad_ctx_ddl.Set_Attribute (g_Pref_Owner || '.EAM_WORK_ORDER_WORDLIST', 'FUZZY_MATCH', 'AUTO');
1133: ad_ctx_ddl.Set_Attribute (g_Pref_Owner || '.EAM_WORK_ORDER_WORDLIST', 'FUZZY_SCORE', 40);
1134: ad_ctx_ddl.Set_Attribute (g_Pref_Owner || '.EAM_WORK_ORDER_WORDLIST', 'FUZZY_NUMRESULTS', 120);
1135:
1128:
1129: -- WORDLIST attribute defaults: STEMMER: 'ENGLISH'; FUZZY_MATCH: 'GENERIC'
1130: -- Use automatic language detection for stemming and fuzzy matching
1131: ad_ctx_ddl.Set_Attribute (g_Pref_Owner || '.EAM_WORK_ORDER_WORDLIST', 'STEMMER', 'AUTO');
1132: ad_ctx_ddl.Set_Attribute (g_Pref_Owner || '.EAM_WORK_ORDER_WORDLIST', 'FUZZY_MATCH', 'AUTO');
1133: ad_ctx_ddl.Set_Attribute (g_Pref_Owner || '.EAM_WORK_ORDER_WORDLIST', 'FUZZY_SCORE', 40);
1134: ad_ctx_ddl.Set_Attribute (g_Pref_Owner || '.EAM_WORK_ORDER_WORDLIST', 'FUZZY_NUMRESULTS', 120);
1135:
1136: -----------------------------------------------
1129: -- WORDLIST attribute defaults: STEMMER: 'ENGLISH'; FUZZY_MATCH: 'GENERIC'
1130: -- Use automatic language detection for stemming and fuzzy matching
1131: ad_ctx_ddl.Set_Attribute (g_Pref_Owner || '.EAM_WORK_ORDER_WORDLIST', 'STEMMER', 'AUTO');
1132: ad_ctx_ddl.Set_Attribute (g_Pref_Owner || '.EAM_WORK_ORDER_WORDLIST', 'FUZZY_MATCH', 'AUTO');
1133: ad_ctx_ddl.Set_Attribute (g_Pref_Owner || '.EAM_WORK_ORDER_WORDLIST', 'FUZZY_SCORE', 40);
1134: ad_ctx_ddl.Set_Attribute (g_Pref_Owner || '.EAM_WORK_ORDER_WORDLIST', 'FUZZY_NUMRESULTS', 120);
1135:
1136: -----------------------------------------------
1137: -- Create language-specific LEXER preferences
1130: -- Use automatic language detection for stemming and fuzzy matching
1131: ad_ctx_ddl.Set_Attribute (g_Pref_Owner || '.EAM_WORK_ORDER_WORDLIST', 'STEMMER', 'AUTO');
1132: ad_ctx_ddl.Set_Attribute (g_Pref_Owner || '.EAM_WORK_ORDER_WORDLIST', 'FUZZY_MATCH', 'AUTO');
1133: ad_ctx_ddl.Set_Attribute (g_Pref_Owner || '.EAM_WORK_ORDER_WORDLIST', 'FUZZY_SCORE', 40);
1134: ad_ctx_ddl.Set_Attribute (g_Pref_Owner || '.EAM_WORK_ORDER_WORDLIST', 'FUZZY_NUMRESULTS', 120);
1135:
1136: -----------------------------------------------
1137: -- Create language-specific LEXER preferences
1138: -----------------------------------------------
1149: IF ( Lang_Code_List(i) = 'JA' ) THEN
1150:
1151: -- Use JAPANESE_LEXER if db charset is UTF8, JA16SJIS, or JA16EUC.
1152: IF ( eam_text_util.get_DB_Version_Num >= 9.0 ) THEN
1153: ad_ctx_ddl.Create_Preference (Lexer_Name, 'JAPANESE_LEXER');
1154: ELSE
1155: ad_ctx_ddl.Create_Preference (Lexer_Name, 'JAPANESE_VGRAM_LEXER');
1156: END IF;
1157:
1151: -- Use JAPANESE_LEXER if db charset is UTF8, JA16SJIS, or JA16EUC.
1152: IF ( eam_text_util.get_DB_Version_Num >= 9.0 ) THEN
1153: ad_ctx_ddl.Create_Preference (Lexer_Name, 'JAPANESE_LEXER');
1154: ELSE
1155: ad_ctx_ddl.Create_Preference (Lexer_Name, 'JAPANESE_VGRAM_LEXER');
1156: END IF;
1157:
1158: ELSIF ( Lang_Code_List(i) = 'KO' ) THEN
1159:
1158: ELSIF ( Lang_Code_List(i) = 'KO' ) THEN
1159:
1160: -- Use KOREAN_MORPH_LEXER if db charset is UTF8 or KO16KSC5601.
1161: IF ( eam_text_util.get_DB_Version_Num >= 9.0 ) THEN
1162: ad_ctx_ddl.Create_Preference (Lexer_Name, 'KOREAN_MORPH_LEXER');
1163: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'VERB_ADJECTIVE', 'TRUE');
1164: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'ONE_CHAR_WORD', 'TRUE');
1165: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'NUMBER', 'TRUE');
1166: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'COMPOSITE', 'NGRAM');
1159:
1160: -- Use KOREAN_MORPH_LEXER if db charset is UTF8 or KO16KSC5601.
1161: IF ( eam_text_util.get_DB_Version_Num >= 9.0 ) THEN
1162: ad_ctx_ddl.Create_Preference (Lexer_Name, 'KOREAN_MORPH_LEXER');
1163: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'VERB_ADJECTIVE', 'TRUE');
1164: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'ONE_CHAR_WORD', 'TRUE');
1165: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'NUMBER', 'TRUE');
1166: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'COMPOSITE', 'NGRAM');
1167: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'MORPHEME', 'TRUE');
1160: -- Use KOREAN_MORPH_LEXER if db charset is UTF8 or KO16KSC5601.
1161: IF ( eam_text_util.get_DB_Version_Num >= 9.0 ) THEN
1162: ad_ctx_ddl.Create_Preference (Lexer_Name, 'KOREAN_MORPH_LEXER');
1163: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'VERB_ADJECTIVE', 'TRUE');
1164: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'ONE_CHAR_WORD', 'TRUE');
1165: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'NUMBER', 'TRUE');
1166: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'COMPOSITE', 'NGRAM');
1167: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'MORPHEME', 'TRUE');
1168: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'HANJA', 'FALSE');
1161: IF ( eam_text_util.get_DB_Version_Num >= 9.0 ) THEN
1162: ad_ctx_ddl.Create_Preference (Lexer_Name, 'KOREAN_MORPH_LEXER');
1163: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'VERB_ADJECTIVE', 'TRUE');
1164: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'ONE_CHAR_WORD', 'TRUE');
1165: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'NUMBER', 'TRUE');
1166: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'COMPOSITE', 'NGRAM');
1167: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'MORPHEME', 'TRUE');
1168: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'HANJA', 'FALSE');
1169: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'LONG_WORD', 'TRUE');
1162: ad_ctx_ddl.Create_Preference (Lexer_Name, 'KOREAN_MORPH_LEXER');
1163: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'VERB_ADJECTIVE', 'TRUE');
1164: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'ONE_CHAR_WORD', 'TRUE');
1165: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'NUMBER', 'TRUE');
1166: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'COMPOSITE', 'NGRAM');
1167: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'MORPHEME', 'TRUE');
1168: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'HANJA', 'FALSE');
1169: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'LONG_WORD', 'TRUE');
1170: --ad_ctx_ddl.Set_Attribute (Lexer_Name, 'JAPANESE', 'FALSE');
1163: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'VERB_ADJECTIVE', 'TRUE');
1164: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'ONE_CHAR_WORD', 'TRUE');
1165: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'NUMBER', 'TRUE');
1166: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'COMPOSITE', 'NGRAM');
1167: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'MORPHEME', 'TRUE');
1168: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'HANJA', 'FALSE');
1169: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'LONG_WORD', 'TRUE');
1170: --ad_ctx_ddl.Set_Attribute (Lexer_Name, 'JAPANESE', 'FALSE');
1171: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'ENGLISH', 'TRUE');
1164: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'ONE_CHAR_WORD', 'TRUE');
1165: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'NUMBER', 'TRUE');
1166: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'COMPOSITE', 'NGRAM');
1167: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'MORPHEME', 'TRUE');
1168: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'HANJA', 'FALSE');
1169: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'LONG_WORD', 'TRUE');
1170: --ad_ctx_ddl.Set_Attribute (Lexer_Name, 'JAPANESE', 'FALSE');
1171: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'ENGLISH', 'TRUE');
1172: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'TO_UPPER', 'TRUE');
1165: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'NUMBER', 'TRUE');
1166: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'COMPOSITE', 'NGRAM');
1167: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'MORPHEME', 'TRUE');
1168: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'HANJA', 'FALSE');
1169: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'LONG_WORD', 'TRUE');
1170: --ad_ctx_ddl.Set_Attribute (Lexer_Name, 'JAPANESE', 'FALSE');
1171: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'ENGLISH', 'TRUE');
1172: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'TO_UPPER', 'TRUE');
1173: ELSE
1166: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'COMPOSITE', 'NGRAM');
1167: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'MORPHEME', 'TRUE');
1168: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'HANJA', 'FALSE');
1169: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'LONG_WORD', 'TRUE');
1170: --ad_ctx_ddl.Set_Attribute (Lexer_Name, 'JAPANESE', 'FALSE');
1171: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'ENGLISH', 'TRUE');
1172: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'TO_UPPER', 'TRUE');
1173: ELSE
1174: ad_ctx_ddl.Create_Preference (Lexer_Name, 'KOREAN_LEXER');
1167: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'MORPHEME', 'TRUE');
1168: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'HANJA', 'FALSE');
1169: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'LONG_WORD', 'TRUE');
1170: --ad_ctx_ddl.Set_Attribute (Lexer_Name, 'JAPANESE', 'FALSE');
1171: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'ENGLISH', 'TRUE');
1172: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'TO_UPPER', 'TRUE');
1173: ELSE
1174: ad_ctx_ddl.Create_Preference (Lexer_Name, 'KOREAN_LEXER');
1175: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'VERB', 'TRUE');
1168: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'HANJA', 'FALSE');
1169: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'LONG_WORD', 'TRUE');
1170: --ad_ctx_ddl.Set_Attribute (Lexer_Name, 'JAPANESE', 'FALSE');
1171: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'ENGLISH', 'TRUE');
1172: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'TO_UPPER', 'TRUE');
1173: ELSE
1174: ad_ctx_ddl.Create_Preference (Lexer_Name, 'KOREAN_LEXER');
1175: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'VERB', 'TRUE');
1176: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'ADJECTIVE', 'TRUE');
1170: --ad_ctx_ddl.Set_Attribute (Lexer_Name, 'JAPANESE', 'FALSE');
1171: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'ENGLISH', 'TRUE');
1172: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'TO_UPPER', 'TRUE');
1173: ELSE
1174: ad_ctx_ddl.Create_Preference (Lexer_Name, 'KOREAN_LEXER');
1175: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'VERB', 'TRUE');
1176: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'ADJECTIVE', 'TRUE');
1177: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'ADVERB', 'TRUE');
1178: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'ONECHAR', 'TRUE');
1171: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'ENGLISH', 'TRUE');
1172: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'TO_UPPER', 'TRUE');
1173: ELSE
1174: ad_ctx_ddl.Create_Preference (Lexer_Name, 'KOREAN_LEXER');
1175: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'VERB', 'TRUE');
1176: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'ADJECTIVE', 'TRUE');
1177: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'ADVERB', 'TRUE');
1178: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'ONECHAR', 'TRUE');
1179: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'NUMBER', 'TRUE');
1172: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'TO_UPPER', 'TRUE');
1173: ELSE
1174: ad_ctx_ddl.Create_Preference (Lexer_Name, 'KOREAN_LEXER');
1175: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'VERB', 'TRUE');
1176: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'ADJECTIVE', 'TRUE');
1177: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'ADVERB', 'TRUE');
1178: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'ONECHAR', 'TRUE');
1179: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'NUMBER', 'TRUE');
1180: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'COMPOSITE', 'TRUE');
1173: ELSE
1174: ad_ctx_ddl.Create_Preference (Lexer_Name, 'KOREAN_LEXER');
1175: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'VERB', 'TRUE');
1176: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'ADJECTIVE', 'TRUE');
1177: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'ADVERB', 'TRUE');
1178: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'ONECHAR', 'TRUE');
1179: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'NUMBER', 'TRUE');
1180: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'COMPOSITE', 'TRUE');
1181: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'MORPHEME', 'TRUE');
1174: ad_ctx_ddl.Create_Preference (Lexer_Name, 'KOREAN_LEXER');
1175: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'VERB', 'TRUE');
1176: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'ADJECTIVE', 'TRUE');
1177: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'ADVERB', 'TRUE');
1178: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'ONECHAR', 'TRUE');
1179: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'NUMBER', 'TRUE');
1180: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'COMPOSITE', 'TRUE');
1181: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'MORPHEME', 'TRUE');
1182: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'TOHANGEUL', 'TRUE');
1175: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'VERB', 'TRUE');
1176: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'ADJECTIVE', 'TRUE');
1177: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'ADVERB', 'TRUE');
1178: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'ONECHAR', 'TRUE');
1179: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'NUMBER', 'TRUE');
1180: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'COMPOSITE', 'TRUE');
1181: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'MORPHEME', 'TRUE');
1182: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'TOHANGEUL', 'TRUE');
1183: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'TOUPPER', 'TRUE');
1176: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'ADJECTIVE', 'TRUE');
1177: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'ADVERB', 'TRUE');
1178: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'ONECHAR', 'TRUE');
1179: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'NUMBER', 'TRUE');
1180: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'COMPOSITE', 'TRUE');
1181: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'MORPHEME', 'TRUE');
1182: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'TOHANGEUL', 'TRUE');
1183: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'TOUPPER', 'TRUE');
1184: END IF;
1177: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'ADVERB', 'TRUE');
1178: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'ONECHAR', 'TRUE');
1179: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'NUMBER', 'TRUE');
1180: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'COMPOSITE', 'TRUE');
1181: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'MORPHEME', 'TRUE');
1182: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'TOHANGEUL', 'TRUE');
1183: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'TOUPPER', 'TRUE');
1184: END IF;
1185:
1178: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'ONECHAR', 'TRUE');
1179: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'NUMBER', 'TRUE');
1180: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'COMPOSITE', 'TRUE');
1181: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'MORPHEME', 'TRUE');
1182: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'TOHANGEUL', 'TRUE');
1183: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'TOUPPER', 'TRUE');
1184: END IF;
1185:
1186: ELSIF ( Lang_Code_List(i) IN ('ZHS', 'ZHT') ) THEN
1179: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'NUMBER', 'TRUE');
1180: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'COMPOSITE', 'TRUE');
1181: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'MORPHEME', 'TRUE');
1182: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'TOHANGEUL', 'TRUE');
1183: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'TOUPPER', 'TRUE');
1184: END IF;
1185:
1186: ELSIF ( Lang_Code_List(i) IN ('ZHS', 'ZHT') ) THEN
1187:
1185:
1186: ELSIF ( Lang_Code_List(i) IN ('ZHS', 'ZHT') ) THEN
1187:
1188: IF ( eam_text_util.get_DB_Version_Num >= 9.2 ) THEN
1189: ad_ctx_ddl.Create_Preference (Lexer_Name, 'CHINESE_LEXER');
1190: ELSE
1191: ad_ctx_ddl.Create_Preference (Lexer_Name, 'CHINESE_VGRAM_LEXER');
1192: END IF;
1193:
1187:
1188: IF ( eam_text_util.get_DB_Version_Num >= 9.2 ) THEN
1189: ad_ctx_ddl.Create_Preference (Lexer_Name, 'CHINESE_LEXER');
1190: ELSE
1191: ad_ctx_ddl.Create_Preference (Lexer_Name, 'CHINESE_VGRAM_LEXER');
1192: END IF;
1193:
1194: ELSE
1195: -- All other languages use basic lexer. */
1193:
1194: ELSE
1195: -- All other languages use basic lexer. */
1196:
1197: ad_ctx_ddl.Create_Preference (Lexer_Name, 'BASIC_LEXER');
1198:
1199: -- The following language-independent attributes are
1200: -- common to the BASIC_LEXER preference object.
1201:
1198:
1199: -- The following language-independent attributes are
1200: -- common to the BASIC_LEXER preference object.
1201:
1202: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'INDEX_TEXT', 'YES');
1203: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'INDEX_THEMES', 'NO');
1204:
1205: -- For printjoin characters include all possible flex segment separators
1206: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'PRINTJOINS', '-_*~^+.$#@:|&');
1199: -- The following language-independent attributes are
1200: -- common to the BASIC_LEXER preference object.
1201:
1202: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'INDEX_TEXT', 'YES');
1203: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'INDEX_THEMES', 'NO');
1204:
1205: -- For printjoin characters include all possible flex segment separators
1206: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'PRINTJOINS', '-_*~^+.$#@:|&');
1207: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'CONTINUATION', '-\');
1202: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'INDEX_TEXT', 'YES');
1203: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'INDEX_THEMES', 'NO');
1204:
1205: -- For printjoin characters include all possible flex segment separators
1206: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'PRINTJOINS', '-_*~^+.$#@:|&');
1207: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'CONTINUATION', '-\');
1208: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'PUNCTUATIONS', '.?!');
1209:
1210: -- The default values for numjoin and numgroup are determined by
1203: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'INDEX_THEMES', 'NO');
1204:
1205: -- For printjoin characters include all possible flex segment separators
1206: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'PRINTJOINS', '-_*~^+.$#@:|&');
1207: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'CONTINUATION', '-\');
1208: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'PUNCTUATIONS', '.?!');
1209:
1210: -- The default values for numjoin and numgroup are determined by
1211: -- the NLS initialization parameters that are specified for the database.
1204:
1205: -- For printjoin characters include all possible flex segment separators
1206: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'PRINTJOINS', '-_*~^+.$#@:|&');
1207: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'CONTINUATION', '-\');
1208: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'PUNCTUATIONS', '.?!');
1209:
1210: -- The default values for numjoin and numgroup are determined by
1211: -- the NLS initialization parameters that are specified for the database.
1212: --ad_ctx_ddl.Set_Attribute (Lexer_Name, 'NUMGROUP', ',');
1208: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'PUNCTUATIONS', '.?!');
1209:
1210: -- The default values for numjoin and numgroup are determined by
1211: -- the NLS initialization parameters that are specified for the database.
1212: --ad_ctx_ddl.Set_Attribute (Lexer_Name, 'NUMGROUP', ',');
1213: --ad_ctx_ddl.Set_Attribute (Lexer_Name, 'NUMJOIN', '.');
1214:
1215: -- Stem indexing stems tokens at indexing time to a single base form in addition
1216: -- to the normal forms. This enables better query performance for stem ($) queries.
1209:
1210: -- The default values for numjoin and numgroup are determined by
1211: -- the NLS initialization parameters that are specified for the database.
1212: --ad_ctx_ddl.Set_Attribute (Lexer_Name, 'NUMGROUP', ',');
1213: --ad_ctx_ddl.Set_Attribute (Lexer_Name, 'NUMJOIN', '.');
1214:
1215: -- Stem indexing stems tokens at indexing time to a single base form in addition
1216: -- to the normal forms. This enables better query performance for stem ($) queries.
1217:
1219: -- This would not affect stem expansion (with $) at query time.
1220: --
1221: --IF ( eam_text_util.get_DB_Version_Num >= 9.2 ) THEN
1222: -- IF ( Lang_Code_List(i) IN ('US', 'GB') ) THEN
1223: -- ad_ctx_ddl.Set_Attribute (Lexer_Name, 'INDEX_STEMS', 'ENGLISH');
1224: -- ELSIF ( Lang_Code_List(i) = 'NL' ) THEN
1225: -- ad_ctx_ddl.Set_Attribute (Lexer_Name, 'INDEX_STEMS', 'DUTCH');
1226: -- ELSIF ( Lang_Code_List(i) = 'D' ) THEN
1227: -- ad_ctx_ddl.Set_Attribute (Lexer_Name, 'INDEX_STEMS', 'GERMAN');
1221: --IF ( eam_text_util.get_DB_Version_Num >= 9.2 ) THEN
1222: -- IF ( Lang_Code_List(i) IN ('US', 'GB') ) THEN
1223: -- ad_ctx_ddl.Set_Attribute (Lexer_Name, 'INDEX_STEMS', 'ENGLISH');
1224: -- ELSIF ( Lang_Code_List(i) = 'NL' ) THEN
1225: -- ad_ctx_ddl.Set_Attribute (Lexer_Name, 'INDEX_STEMS', 'DUTCH');
1226: -- ELSIF ( Lang_Code_List(i) = 'D' ) THEN
1227: -- ad_ctx_ddl.Set_Attribute (Lexer_Name, 'INDEX_STEMS', 'GERMAN');
1228: -- ELSIF ( Lang_Code_List(i) = 'F' ) THEN
1229: -- ad_ctx_ddl.Set_Attribute (Lexer_Name, 'INDEX_STEMS', 'FRENCH');
1223: -- ad_ctx_ddl.Set_Attribute (Lexer_Name, 'INDEX_STEMS', 'ENGLISH');
1224: -- ELSIF ( Lang_Code_List(i) = 'NL' ) THEN
1225: -- ad_ctx_ddl.Set_Attribute (Lexer_Name, 'INDEX_STEMS', 'DUTCH');
1226: -- ELSIF ( Lang_Code_List(i) = 'D' ) THEN
1227: -- ad_ctx_ddl.Set_Attribute (Lexer_Name, 'INDEX_STEMS', 'GERMAN');
1228: -- ELSIF ( Lang_Code_List(i) = 'F' ) THEN
1229: -- ad_ctx_ddl.Set_Attribute (Lexer_Name, 'INDEX_STEMS', 'FRENCH');
1230: -- ELSIF ( Lang_Code_List(i) = 'I' ) THEN
1231: -- ad_ctx_ddl.Set_Attribute (Lexer_Name, 'INDEX_STEMS', 'ITALIAN');
1225: -- ad_ctx_ddl.Set_Attribute (Lexer_Name, 'INDEX_STEMS', 'DUTCH');
1226: -- ELSIF ( Lang_Code_List(i) = 'D' ) THEN
1227: -- ad_ctx_ddl.Set_Attribute (Lexer_Name, 'INDEX_STEMS', 'GERMAN');
1228: -- ELSIF ( Lang_Code_List(i) = 'F' ) THEN
1229: -- ad_ctx_ddl.Set_Attribute (Lexer_Name, 'INDEX_STEMS', 'FRENCH');
1230: -- ELSIF ( Lang_Code_List(i) = 'I' ) THEN
1231: -- ad_ctx_ddl.Set_Attribute (Lexer_Name, 'INDEX_STEMS', 'ITALIAN');
1232: -- ELSIF ( Lang_Code_List(i) IN ('E', 'ESA') ) THEN
1233: -- ad_ctx_ddl.Set_Attribute (Lexer_Name, 'INDEX_STEMS', 'SPANISH');
1227: -- ad_ctx_ddl.Set_Attribute (Lexer_Name, 'INDEX_STEMS', 'GERMAN');
1228: -- ELSIF ( Lang_Code_List(i) = 'F' ) THEN
1229: -- ad_ctx_ddl.Set_Attribute (Lexer_Name, 'INDEX_STEMS', 'FRENCH');
1230: -- ELSIF ( Lang_Code_List(i) = 'I' ) THEN
1231: -- ad_ctx_ddl.Set_Attribute (Lexer_Name, 'INDEX_STEMS', 'ITALIAN');
1232: -- ELSIF ( Lang_Code_List(i) IN ('E', 'ESA') ) THEN
1233: -- ad_ctx_ddl.Set_Attribute (Lexer_Name, 'INDEX_STEMS', 'SPANISH');
1234: -- END IF;
1235: --END IF;
1229: -- ad_ctx_ddl.Set_Attribute (Lexer_Name, 'INDEX_STEMS', 'FRENCH');
1230: -- ELSIF ( Lang_Code_List(i) = 'I' ) THEN
1231: -- ad_ctx_ddl.Set_Attribute (Lexer_Name, 'INDEX_STEMS', 'ITALIAN');
1232: -- ELSIF ( Lang_Code_List(i) IN ('E', 'ESA') ) THEN
1233: -- ad_ctx_ddl.Set_Attribute (Lexer_Name, 'INDEX_STEMS', 'SPANISH');
1234: -- END IF;
1235: --END IF;
1236: /*
1237: -- Language-specific attribute values for BASIC_LEXER preference object
1236: /*
1237: -- Language-specific attribute values for BASIC_LEXER preference object
1238:
1239: IF ( Lang_Code_List(i) = 'NL' ) THEN
1240: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'COMPOSITE', 'DUTCH');
1241:
1242: ELSIF ( Lang_Code_List(i) = 'D' ) THEN
1243: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'COMPOSITE', 'GERMAN');
1244: -- Basic lexer in 8.1.7 allows the MIXED_CASE to be FALSE when COMPOSITE is set.
1239: IF ( Lang_Code_List(i) = 'NL' ) THEN
1240: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'COMPOSITE', 'DUTCH');
1241:
1242: ELSIF ( Lang_Code_List(i) = 'D' ) THEN
1243: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'COMPOSITE', 'GERMAN');
1244: -- Basic lexer in 8.1.7 allows the MIXED_CASE to be FALSE when COMPOSITE is set.
1245: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'MIXED_CASE', 'NO');
1246: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'ALTERNATE_SPELLING', 'GERMAN');
1247:
1241:
1242: ELSIF ( Lang_Code_List(i) = 'D' ) THEN
1243: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'COMPOSITE', 'GERMAN');
1244: -- Basic lexer in 8.1.7 allows the MIXED_CASE to be FALSE when COMPOSITE is set.
1245: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'MIXED_CASE', 'NO');
1246: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'ALTERNATE_SPELLING', 'GERMAN');
1247:
1248: ELSIF ( Lang_Code_List(i) = 'DK' ) THEN
1249: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'ALTERNATE_SPELLING', 'DANISH');
1242: ELSIF ( Lang_Code_List(i) = 'D' ) THEN
1243: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'COMPOSITE', 'GERMAN');
1244: -- Basic lexer in 8.1.7 allows the MIXED_CASE to be FALSE when COMPOSITE is set.
1245: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'MIXED_CASE', 'NO');
1246: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'ALTERNATE_SPELLING', 'GERMAN');
1247:
1248: ELSIF ( Lang_Code_List(i) = 'DK' ) THEN
1249: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'ALTERNATE_SPELLING', 'DANISH');
1250:
1245: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'MIXED_CASE', 'NO');
1246: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'ALTERNATE_SPELLING', 'GERMAN');
1247:
1248: ELSIF ( Lang_Code_List(i) = 'DK' ) THEN
1249: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'ALTERNATE_SPELLING', 'DANISH');
1250:
1251: ELSIF ( Lang_Code_List(i) = 'S' ) THEN
1252: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'ALTERNATE_SPELLING', 'SWEDISH');
1253:
1248: ELSIF ( Lang_Code_List(i) = 'DK' ) THEN
1249: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'ALTERNATE_SPELLING', 'DANISH');
1250:
1251: ELSIF ( Lang_Code_List(i) = 'S' ) THEN
1252: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'ALTERNATE_SPELLING', 'SWEDISH');
1253:
1254: ELSIF ( Lang_Code_List(i) = 'N' ) THEN
1255: -- Both Norwegian and Danish use the same special characters that are
1256: -- rendered alternatively as "aa", "ae", and "oe".
1253:
1254: ELSIF ( Lang_Code_List(i) = 'N' ) THEN
1255: -- Both Norwegian and Danish use the same special characters that are
1256: -- rendered alternatively as "aa", "ae", and "oe".
1257: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'ALTERNATE_SPELLING', 'DANISH');
1258:
1259: ELSIF ( Lang_Code_List(i) = 'F' ) THEN
1260: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'BASE_LETTER', 'YES');
1261:
1256: -- rendered alternatively as "aa", "ae", and "oe".
1257: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'ALTERNATE_SPELLING', 'DANISH');
1258:
1259: ELSIF ( Lang_Code_List(i) = 'F' ) THEN
1260: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'BASE_LETTER', 'YES');
1261:
1262: ELSE
1263: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'ALTERNATE_SPELLING', 'NONE');
1264:
1259: ELSIF ( Lang_Code_List(i) = 'F' ) THEN
1260: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'BASE_LETTER', 'YES');
1261:
1262: ELSE
1263: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'ALTERNATE_SPELLING', 'NONE');
1264:
1265: END IF;
1266: END IF;
1267:
1272: ----------------------------------
1273: /*
1274: Log_Line (l_api_name || ': creating MULTI_LEXER preference ...');
1275:
1276: ad_ctx_ddl.Create_Preference (g_Pref_Owner || '.EAM_WORK_ORDER_MULTI_LEXER', 'MULTI_LEXER');
1277:
1278: FOR i IN Lang_Code_List.FIRST .. Lang_Code_List.LAST
1279: LOOP
1280: Lexer_Name := g_Pref_Owner || '.EAM_WORK_ORDER_LEXER_' || Lang_Code_List(i);
1285: -- when adding the sub lexers:
1286:
1287: IF ( Lang_Code_List(i) = 'US' ) THEN
1288: -- US English lexer to handle everything else.
1289: ad_ctx_ddl.Add_Sub_Lexer ( g_Pref_Owner || '.EAM_WORK_ORDER_MULTI_LEXER', 'DEFAULT'
1290: , g_Pref_Owner || '.EAM_WORK_ORDER_LEXER_US' );
1291: ELSE
1292: ad_ctx_ddl.Add_Sub_Lexer
1293: ( lexer_name => g_Pref_Owner || '.EAM_WORK_ORDER_MULTI_LEXER'
1288: -- US English lexer to handle everything else.
1289: ad_ctx_ddl.Add_Sub_Lexer ( g_Pref_Owner || '.EAM_WORK_ORDER_MULTI_LEXER', 'DEFAULT'
1290: , g_Pref_Owner || '.EAM_WORK_ORDER_LEXER_US' );
1291: ELSE
1292: ad_ctx_ddl.Add_Sub_Lexer
1293: ( lexer_name => g_Pref_Owner || '.EAM_WORK_ORDER_MULTI_LEXER'
1294: , language => Lang_Code_List(i)
1295: , sub_lexer => Lexer_Name
1296: --, alt_value => Lang_ISO_List(i)
1681: , p_Action IN NUMBER
1682: , p_dummy1 IN NUMBER DEFAULT NULL
1683: , p_optlevel IN NUMBER DEFAULT NULL
1684: , p_dummy2 IN NUMBER DEFAULT NULL
1685: , p_maxtime IN NUMBER DEFAULT AD_CTX_DDL.Maxtime_Unlimited
1686: )
1687: IS
1688: l_api_name CONSTANT VARCHAR2(30) := 'Build_Text_Index';
1689: l_Index_Name VARCHAR2(30);
1687: IS
1688: l_api_name CONSTANT VARCHAR2(30) := 'Build_Text_Index';
1689: l_Index_Name VARCHAR2(30);
1690: l_return_status VARCHAR2(1);
1691: l_optim_level VARCHAR2(30) := AD_CTX_DDL.Optlevel_Full;
1692: BEGIN
1693:
1694: IF ( g_Log_Mode IS NULL ) THEN
1695: set_Log_Mode ('FILE');
1701: l_return_status := G_STATUS_SUCCESS;
1702:
1703: IF (p_optlevel IS NOT NULL) THEN
1704: IF (p_optlevel = 1) THEN
1705: l_optim_level := AD_CTX_DDL.Optlevel_Fast;
1706: ELSIF (p_optlevel = 2) THEN
1707: l_optim_level := AD_CTX_DDL.Optlevel_Full;
1708: END IF;
1709: END IF;
1703: IF (p_optlevel IS NOT NULL) THEN
1704: IF (p_optlevel = 1) THEN
1705: l_optim_level := AD_CTX_DDL.Optlevel_Fast;
1706: ELSIF (p_optlevel = 2) THEN
1707: l_optim_level := AD_CTX_DDL.Optlevel_Full;
1708: END IF;
1709: END IF;
1710:
1711: IF p_text_context = 1 THEN
1822: -- Start : Concurrent Program for Optimize Intermedia index
1823: PROCEDURE Optimize_Index
1824: (
1825: x_return_status OUT NOCOPY VARCHAR2
1826: , p_optlevel IN VARCHAR2 DEFAULT AD_CTX_DDL.Optlevel_Full
1827: , p_maxtime IN NUMBER DEFAULT AD_CTX_DDL.Maxtime_Unlimited
1828: , p_index_name IN VARCHAR2
1829: )
1830: IS
1823: PROCEDURE Optimize_Index
1824: (
1825: x_return_status OUT NOCOPY VARCHAR2
1826: , p_optlevel IN VARCHAR2 DEFAULT AD_CTX_DDL.Optlevel_Full
1827: , p_maxtime IN NUMBER DEFAULT AD_CTX_DDL.Maxtime_Unlimited
1828: , p_index_name IN VARCHAR2
1829: )
1830: IS
1831:
1829: )
1830: IS
1831:
1832: l_api_name CONSTANT VARCHAR2(30) := 'Optimize_Index';
1833: l_maxtime NUMBER := NVL(p_maxtime,AD_CTX_DDL.Maxtime_Unlimited);
1834:
1835: BEGIN
1836:
1837: log_line(l_api_name ||' : Started AD_CTX_DDL.Optimize_Index..', FND_LOG.LEVEL_EVENT, l_api_name);
1833: l_maxtime NUMBER := NVL(p_maxtime,AD_CTX_DDL.Maxtime_Unlimited);
1834:
1835: BEGIN
1836:
1837: log_line(l_api_name ||' : Started AD_CTX_DDL.Optimize_Index..', FND_LOG.LEVEL_EVENT, l_api_name);
1838: log_line(l_api_name ||' : Optimization Level :'||p_optlevel, FND_LOG.LEVEL_EVENT, l_api_name);
1839: log_line(l_api_name ||' : Maximum Optimization Time :'||p_maxtime, FND_LOG.LEVEL_EVENT, l_api_name);
1840:
1841: x_return_status := G_STATUS_SUCCESS;
1844: IF p_optlevel ='FAST' THEN
1845: l_maxtime := NULL;
1846: END IF;
1847:
1848: AD_CTX_DDL.Optimize_Index ( idx_name => g_Index_Owner ||'.'|| p_index_name
1849: , optlevel => NVL(p_optlevel,AD_CTX_DDL.Optlevel_Full)
1850: , maxtime => l_maxtime);
1851:
1852: log_line(l_api_name ||' : Completed AD_CTX_DDL.Optimize_Index..', FND_LOG.LEVEL_EVENT, l_api_name);
1845: l_maxtime := NULL;
1846: END IF;
1847:
1848: AD_CTX_DDL.Optimize_Index ( idx_name => g_Index_Owner ||'.'|| p_index_name
1849: , optlevel => NVL(p_optlevel,AD_CTX_DDL.Optlevel_Full)
1850: , maxtime => l_maxtime);
1851:
1852: log_line(l_api_name ||' : Completed AD_CTX_DDL.Optimize_Index..', FND_LOG.LEVEL_EVENT, l_api_name);
1853:
1848: AD_CTX_DDL.Optimize_Index ( idx_name => g_Index_Owner ||'.'|| p_index_name
1849: , optlevel => NVL(p_optlevel,AD_CTX_DDL.Optlevel_Full)
1850: , maxtime => l_maxtime);
1851:
1852: log_line(l_api_name ||' : Completed AD_CTX_DDL.Optimize_Index..', FND_LOG.LEVEL_EVENT, l_api_name);
1853:
1854:
1855: EXCEPTION
1856: WHEN OTHERS THEN