244: FOR multi_lexer_rec IN ( SELECT pre_owner, pre_name
245: FROM ctxsys.ctx_preferences
246: WHERE pre_name = l_pref_name )
247: LOOP
248: ad_ctx_ddl.drop_preference (multi_lexer_rec.pre_owner ||'.'|| multi_lexer_rec.pre_name);
249: END LOOP;
250:
251: FOR sub_lexer_rec IN ( SELECT pre_owner, pre_name
252: FROM ctxsys.ctx_preferences
251: FOR sub_lexer_rec IN ( SELECT pre_owner, pre_name
252: FROM ctxsys.ctx_preferences
253: WHERE pre_name LIKE 'EGO_ITEM_LEXER%' )
254: LOOP
255: ad_ctx_ddl.drop_preference (sub_lexer_rec.pre_owner ||'.'|| sub_lexer_rec.pre_name);
256: END LOOP;
257:
258: l_pref_name := 'EGO_ITEM_WORDLIST';
259: FOR wordlist_rec IN ( SELECT pre_owner, pre_name
259: FOR wordlist_rec IN ( SELECT pre_owner, pre_name
260: FROM ctxsys.ctx_preferences
261: WHERE pre_name = l_pref_name )
262: LOOP
263: ad_ctx_ddl.drop_preference (wordlist_rec.pre_owner ||'.'|| wordlist_rec.pre_name);
264: END LOOP;
265:
266: FOR stoplist_rec IN ( SELECT spl_owner, spl_name
267: FROM ctxsys.ctx_stoplists
266: FOR stoplist_rec IN ( SELECT spl_owner, spl_name
267: FROM ctxsys.ctx_stoplists
268: WHERE spl_name = 'EGO_ITEM_STOPLIST' )
269: LOOP
270: ad_ctx_ddl.Drop_Stoplist (stoplist_rec.spl_owner || '.EGO_ITEM_STOPLIST');
271: END LOOP;
272:
273: FOR section_group_rec IN ( SELECT sgp_owner, sgp_name
274: FROM ctxsys.ctx_section_groups
273: FOR section_group_rec IN ( SELECT sgp_owner, sgp_name
274: FROM ctxsys.ctx_section_groups
275: WHERE sgp_name = 'EGO_ITEM_SECTION_GROUP' )
276: LOOP
277: ad_ctx_ddl.Drop_Section_Group (section_group_rec.sgp_owner ||'.'|| section_group_rec.sgp_name);
278: END LOOP;
279:
280: l_pref_name := 'EGO_ITEM_DATASTORE';
281: FOR datastore_rec IN ( SELECT pre_owner, pre_name
281: FOR datastore_rec IN ( SELECT pre_owner, pre_name
282: FROM ctxsys.ctx_preferences
283: WHERE pre_name = l_pref_name )
284: LOOP
285: ad_ctx_ddl.drop_preference (datastore_rec.pre_owner ||'.'|| datastore_rec.pre_name);
286: END LOOP;
287:
288: l_pref_name := 'EGO_ITEM_STORAGE';
289: FOR storage_rec IN ( SELECT pre_owner, pre_name
289: FOR storage_rec IN ( SELECT pre_owner, pre_name
290: FROM ctxsys.ctx_preferences
291: WHERE pre_name = l_pref_name )
292: LOOP
293: ad_ctx_ddl.drop_preference (storage_rec.pre_owner ||'.'|| storage_rec.pre_name);
294: END LOOP;
295:
296: ------------------------------
297: -- Create STORAGE preference
317: AND table_name = 'EGO_ITEM_TEXT_TL';
318:
319: Log_Line (l_api_name || ': creating STORAGE preference ...');
320:
321: ad_ctx_ddl.create_preference (g_Pref_Owner || '.EGO_ITEM_STORAGE', 'BASIC_STORAGE');
322:
323: ad_ctx_ddl.set_attribute (g_Pref_Owner || '.EGO_ITEM_STORAGE',
324: 'I_TABLE_CLAUSE', tspace_tbl_param);
325:
319: Log_Line (l_api_name || ': creating STORAGE preference ...');
320:
321: ad_ctx_ddl.create_preference (g_Pref_Owner || '.EGO_ITEM_STORAGE', 'BASIC_STORAGE');
322:
323: ad_ctx_ddl.set_attribute (g_Pref_Owner || '.EGO_ITEM_STORAGE',
324: 'I_TABLE_CLAUSE', tspace_tbl_param);
325:
326: ad_ctx_ddl.set_attribute (g_Pref_Owner || '.EGO_ITEM_STORAGE',
327: 'K_TABLE_CLAUSE', tspace_tbl_param);
322:
323: ad_ctx_ddl.set_attribute (g_Pref_Owner || '.EGO_ITEM_STORAGE',
324: 'I_TABLE_CLAUSE', tspace_tbl_param);
325:
326: ad_ctx_ddl.set_attribute (g_Pref_Owner || '.EGO_ITEM_STORAGE',
327: 'K_TABLE_CLAUSE', tspace_tbl_param);
328:
329: ad_ctx_ddl.set_attribute (g_Pref_Owner || '.EGO_ITEM_STORAGE',
330: 'R_TABLE_CLAUSE', tspace_tbl_param || ' LOB (data) STORE AS (CACHE)');
325:
326: ad_ctx_ddl.set_attribute (g_Pref_Owner || '.EGO_ITEM_STORAGE',
327: 'K_TABLE_CLAUSE', tspace_tbl_param);
328:
329: ad_ctx_ddl.set_attribute (g_Pref_Owner || '.EGO_ITEM_STORAGE',
330: 'R_TABLE_CLAUSE', tspace_tbl_param || ' LOB (data) STORE AS (CACHE)');
331:
332: -- Caching the "data" LOB column is the default (at later versions of Oracle Text).
333: -- For index specific STORAGE preference, setting the clause "lob (data) (cache reads)"
333: -- For index specific STORAGE preference, setting the clause "lob (data) (cache reads)"
334: -- should be ensured (the "lob .. store as" clause is only for newly added LOB columns).
335: --alter table dr$prd_ctx_index$r modify lob (data) (cache reads);
336:
337: ad_ctx_ddl.set_attribute (g_Pref_Owner || '.EGO_ITEM_STORAGE',
338: 'N_TABLE_CLAUSE', tspace_tbl_param);
339:
340: ad_ctx_ddl.set_attribute (g_Pref_Owner || '.EGO_ITEM_STORAGE',
341: 'P_TABLE_CLAUSE', tspace_tbl_param);
336:
337: ad_ctx_ddl.set_attribute (g_Pref_Owner || '.EGO_ITEM_STORAGE',
338: 'N_TABLE_CLAUSE', tspace_tbl_param);
339:
340: ad_ctx_ddl.set_attribute (g_Pref_Owner || '.EGO_ITEM_STORAGE',
341: 'P_TABLE_CLAUSE', tspace_tbl_param);
342:
343: ad_ctx_ddl.set_attribute (g_Pref_Owner || '.EGO_ITEM_STORAGE',
344: 'I_INDEX_CLAUSE', tspace_idx_param || ' COMPRESS 2');
339:
340: ad_ctx_ddl.set_attribute (g_Pref_Owner || '.EGO_ITEM_STORAGE',
341: 'P_TABLE_CLAUSE', tspace_tbl_param);
342:
343: ad_ctx_ddl.set_attribute (g_Pref_Owner || '.EGO_ITEM_STORAGE',
344: 'I_INDEX_CLAUSE', tspace_idx_param || ' COMPRESS 2');
345:
346: --ad_ctx_ddl.set_attribute (g_Pref_Owner || '.EGO_ITEM_STORAGE',
347: -- 'I_ROWID_INDEX_CLAUSE', tspace_idx_param);
342:
343: ad_ctx_ddl.set_attribute (g_Pref_Owner || '.EGO_ITEM_STORAGE',
344: 'I_INDEX_CLAUSE', tspace_idx_param || ' COMPRESS 2');
345:
346: --ad_ctx_ddl.set_attribute (g_Pref_Owner || '.EGO_ITEM_STORAGE',
347: -- 'I_ROWID_INDEX_CLAUSE', tspace_idx_param);
348:
349: --------------------------------
350: -- Create DATASTORE preference
351: --------------------------------
352:
353: Log_Line (l_api_name || ': creating DATASTORE preference ...');
354:
355: ad_ctx_ddl.Create_Preference (g_Pref_Owner || '.EGO_ITEM_DATASTORE', 'USER_DATASTORE');
356:
357: ad_ctx_ddl.Set_Attribute (g_Pref_Owner || '.EGO_ITEM_DATASTORE', 'OUTPUT_TYPE', 'CLOB');
358: ad_ctx_ddl.Set_Attribute (g_Pref_Owner || '.EGO_ITEM_DATASTORE', 'PROCEDURE', 'APPS.EGO_ITEM_TEXT_CTX_PKG.Get_Item_Text_CLOB'); --remove double quotes for bug 13396394
359:
353: Log_Line (l_api_name || ': creating DATASTORE preference ...');
354:
355: ad_ctx_ddl.Create_Preference (g_Pref_Owner || '.EGO_ITEM_DATASTORE', 'USER_DATASTORE');
356:
357: ad_ctx_ddl.Set_Attribute (g_Pref_Owner || '.EGO_ITEM_DATASTORE', 'OUTPUT_TYPE', 'CLOB');
358: ad_ctx_ddl.Set_Attribute (g_Pref_Owner || '.EGO_ITEM_DATASTORE', 'PROCEDURE', 'APPS.EGO_ITEM_TEXT_CTX_PKG.Get_Item_Text_CLOB'); --remove double quotes for bug 13396394
359:
360: --ad_ctx_ddl.Set_Attribute (g_Pref_Owner || '.EGO_ITEM_DATASTORE', 'OUTPUT_TYPE', 'VARCHAR2');
361: --ad_ctx_ddl.Set_Attribute (g_Pref_Owner || '.EGO_ITEM_DATASTORE', 'PROCEDURE', '"EGO_ITEM_TEXT_CTX_PKG"."Get_Item_Text_VARCHAR2"');
354:
355: ad_ctx_ddl.Create_Preference (g_Pref_Owner || '.EGO_ITEM_DATASTORE', 'USER_DATASTORE');
356:
357: ad_ctx_ddl.Set_Attribute (g_Pref_Owner || '.EGO_ITEM_DATASTORE', 'OUTPUT_TYPE', 'CLOB');
358: ad_ctx_ddl.Set_Attribute (g_Pref_Owner || '.EGO_ITEM_DATASTORE', 'PROCEDURE', 'APPS.EGO_ITEM_TEXT_CTX_PKG.Get_Item_Text_CLOB'); --remove double quotes for bug 13396394
359:
360: --ad_ctx_ddl.Set_Attribute (g_Pref_Owner || '.EGO_ITEM_DATASTORE', 'OUTPUT_TYPE', 'VARCHAR2');
361: --ad_ctx_ddl.Set_Attribute (g_Pref_Owner || '.EGO_ITEM_DATASTORE', 'PROCEDURE', '"EGO_ITEM_TEXT_CTX_PKG"."Get_Item_Text_VARCHAR2"');
362:
356:
357: ad_ctx_ddl.Set_Attribute (g_Pref_Owner || '.EGO_ITEM_DATASTORE', 'OUTPUT_TYPE', 'CLOB');
358: ad_ctx_ddl.Set_Attribute (g_Pref_Owner || '.EGO_ITEM_DATASTORE', 'PROCEDURE', 'APPS.EGO_ITEM_TEXT_CTX_PKG.Get_Item_Text_CLOB'); --remove double quotes for bug 13396394
359:
360: --ad_ctx_ddl.Set_Attribute (g_Pref_Owner || '.EGO_ITEM_DATASTORE', 'OUTPUT_TYPE', 'VARCHAR2');
361: --ad_ctx_ddl.Set_Attribute (g_Pref_Owner || '.EGO_ITEM_DATASTORE', 'PROCEDURE', '"EGO_ITEM_TEXT_CTX_PKG"."Get_Item_Text_VARCHAR2"');
362:
363: ------------------------------------
364: -- Create SECTION GROUP preference
357: ad_ctx_ddl.Set_Attribute (g_Pref_Owner || '.EGO_ITEM_DATASTORE', 'OUTPUT_TYPE', 'CLOB');
358: ad_ctx_ddl.Set_Attribute (g_Pref_Owner || '.EGO_ITEM_DATASTORE', 'PROCEDURE', 'APPS.EGO_ITEM_TEXT_CTX_PKG.Get_Item_Text_CLOB'); --remove double quotes for bug 13396394
359:
360: --ad_ctx_ddl.Set_Attribute (g_Pref_Owner || '.EGO_ITEM_DATASTORE', 'OUTPUT_TYPE', 'VARCHAR2');
361: --ad_ctx_ddl.Set_Attribute (g_Pref_Owner || '.EGO_ITEM_DATASTORE', 'PROCEDURE', '"EGO_ITEM_TEXT_CTX_PKG"."Get_Item_Text_VARCHAR2"');
362:
363: ------------------------------------
364: -- Create SECTION GROUP preference
365: ------------------------------------
365: ------------------------------------
366:
367: Log_Line (l_api_name || ': creating SECTION_GROUP preference ...');
368:
369: ad_ctx_ddl.Create_Section_Group (g_Pref_Owner || '.EGO_ITEM_SECTION_GROUP', 'BASIC_SECTION_GROUP');
370: ad_ctx_ddl.Add_Zone_Section (g_Pref_Owner || '.EGO_ITEM_SECTION_GROUP', 'EGO_ITEM_ITEM_SECTION', 'item');
371: ad_ctx_ddl.Add_Zone_Section (g_Pref_Owner || '.EGO_ITEM_SECTION_GROUP', 'EGO_ITEM_DESC_SECTION', 'desc');
372: ad_ctx_ddl.Add_Zone_Section (g_Pref_Owner || '.EGO_ITEM_SECTION_GROUP', 'EGO_ITEM_SHORTDESC_SECTION', 'shortdesc');
373: ad_ctx_ddl.Add_Zone_Section (g_Pref_Owner || '.EGO_ITEM_SECTION_GROUP', 'EGO_ITEM_LONGDESC_SECTION', 'longdesc');
366:
367: Log_Line (l_api_name || ': creating SECTION_GROUP preference ...');
368:
369: ad_ctx_ddl.Create_Section_Group (g_Pref_Owner || '.EGO_ITEM_SECTION_GROUP', 'BASIC_SECTION_GROUP');
370: ad_ctx_ddl.Add_Zone_Section (g_Pref_Owner || '.EGO_ITEM_SECTION_GROUP', 'EGO_ITEM_ITEM_SECTION', 'item');
371: ad_ctx_ddl.Add_Zone_Section (g_Pref_Owner || '.EGO_ITEM_SECTION_GROUP', 'EGO_ITEM_DESC_SECTION', 'desc');
372: ad_ctx_ddl.Add_Zone_Section (g_Pref_Owner || '.EGO_ITEM_SECTION_GROUP', 'EGO_ITEM_SHORTDESC_SECTION', 'shortdesc');
373: ad_ctx_ddl.Add_Zone_Section (g_Pref_Owner || '.EGO_ITEM_SECTION_GROUP', 'EGO_ITEM_LONGDESC_SECTION', 'longdesc');
374: ad_ctx_ddl.Add_Zone_Section (g_Pref_Owner || '.EGO_ITEM_SECTION_GROUP', 'EGO_ITEM_CAT_SECTION', 'cat');
367: Log_Line (l_api_name || ': creating SECTION_GROUP preference ...');
368:
369: ad_ctx_ddl.Create_Section_Group (g_Pref_Owner || '.EGO_ITEM_SECTION_GROUP', 'BASIC_SECTION_GROUP');
370: ad_ctx_ddl.Add_Zone_Section (g_Pref_Owner || '.EGO_ITEM_SECTION_GROUP', 'EGO_ITEM_ITEM_SECTION', 'item');
371: ad_ctx_ddl.Add_Zone_Section (g_Pref_Owner || '.EGO_ITEM_SECTION_GROUP', 'EGO_ITEM_DESC_SECTION', 'desc');
372: ad_ctx_ddl.Add_Zone_Section (g_Pref_Owner || '.EGO_ITEM_SECTION_GROUP', 'EGO_ITEM_SHORTDESC_SECTION', 'shortdesc');
373: ad_ctx_ddl.Add_Zone_Section (g_Pref_Owner || '.EGO_ITEM_SECTION_GROUP', 'EGO_ITEM_LONGDESC_SECTION', 'longdesc');
374: ad_ctx_ddl.Add_Zone_Section (g_Pref_Owner || '.EGO_ITEM_SECTION_GROUP', 'EGO_ITEM_CAT_SECTION', 'cat');
375: ad_ctx_ddl.Add_Zone_Section (g_Pref_Owner || '.EGO_ITEM_SECTION_GROUP', 'EGO_ITEM_AML_SECTION', 'aml');
368:
369: ad_ctx_ddl.Create_Section_Group (g_Pref_Owner || '.EGO_ITEM_SECTION_GROUP', 'BASIC_SECTION_GROUP');
370: ad_ctx_ddl.Add_Zone_Section (g_Pref_Owner || '.EGO_ITEM_SECTION_GROUP', 'EGO_ITEM_ITEM_SECTION', 'item');
371: ad_ctx_ddl.Add_Zone_Section (g_Pref_Owner || '.EGO_ITEM_SECTION_GROUP', 'EGO_ITEM_DESC_SECTION', 'desc');
372: ad_ctx_ddl.Add_Zone_Section (g_Pref_Owner || '.EGO_ITEM_SECTION_GROUP', 'EGO_ITEM_SHORTDESC_SECTION', 'shortdesc');
373: ad_ctx_ddl.Add_Zone_Section (g_Pref_Owner || '.EGO_ITEM_SECTION_GROUP', 'EGO_ITEM_LONGDESC_SECTION', 'longdesc');
374: ad_ctx_ddl.Add_Zone_Section (g_Pref_Owner || '.EGO_ITEM_SECTION_GROUP', 'EGO_ITEM_CAT_SECTION', 'cat');
375: ad_ctx_ddl.Add_Zone_Section (g_Pref_Owner || '.EGO_ITEM_SECTION_GROUP', 'EGO_ITEM_AML_SECTION', 'aml');
376: ad_ctx_ddl.Add_Zone_Section (g_Pref_Owner || '.EGO_ITEM_SECTION_GROUP', 'EGO_ITEM_MFG_SECTION', 'mfg');
369: ad_ctx_ddl.Create_Section_Group (g_Pref_Owner || '.EGO_ITEM_SECTION_GROUP', 'BASIC_SECTION_GROUP');
370: ad_ctx_ddl.Add_Zone_Section (g_Pref_Owner || '.EGO_ITEM_SECTION_GROUP', 'EGO_ITEM_ITEM_SECTION', 'item');
371: ad_ctx_ddl.Add_Zone_Section (g_Pref_Owner || '.EGO_ITEM_SECTION_GROUP', 'EGO_ITEM_DESC_SECTION', 'desc');
372: ad_ctx_ddl.Add_Zone_Section (g_Pref_Owner || '.EGO_ITEM_SECTION_GROUP', 'EGO_ITEM_SHORTDESC_SECTION', 'shortdesc');
373: ad_ctx_ddl.Add_Zone_Section (g_Pref_Owner || '.EGO_ITEM_SECTION_GROUP', 'EGO_ITEM_LONGDESC_SECTION', 'longdesc');
374: ad_ctx_ddl.Add_Zone_Section (g_Pref_Owner || '.EGO_ITEM_SECTION_GROUP', 'EGO_ITEM_CAT_SECTION', 'cat');
375: ad_ctx_ddl.Add_Zone_Section (g_Pref_Owner || '.EGO_ITEM_SECTION_GROUP', 'EGO_ITEM_AML_SECTION', 'aml');
376: ad_ctx_ddl.Add_Zone_Section (g_Pref_Owner || '.EGO_ITEM_SECTION_GROUP', 'EGO_ITEM_MFG_SECTION', 'mfg');
377: ad_ctx_ddl.Add_Zone_Section (g_Pref_Owner || '.EGO_ITEM_SECTION_GROUP', 'EGO_ITEM_MPN_SECTION', 'mpn');
370: ad_ctx_ddl.Add_Zone_Section (g_Pref_Owner || '.EGO_ITEM_SECTION_GROUP', 'EGO_ITEM_ITEM_SECTION', 'item');
371: ad_ctx_ddl.Add_Zone_Section (g_Pref_Owner || '.EGO_ITEM_SECTION_GROUP', 'EGO_ITEM_DESC_SECTION', 'desc');
372: ad_ctx_ddl.Add_Zone_Section (g_Pref_Owner || '.EGO_ITEM_SECTION_GROUP', 'EGO_ITEM_SHORTDESC_SECTION', 'shortdesc');
373: ad_ctx_ddl.Add_Zone_Section (g_Pref_Owner || '.EGO_ITEM_SECTION_GROUP', 'EGO_ITEM_LONGDESC_SECTION', 'longdesc');
374: ad_ctx_ddl.Add_Zone_Section (g_Pref_Owner || '.EGO_ITEM_SECTION_GROUP', 'EGO_ITEM_CAT_SECTION', 'cat');
375: ad_ctx_ddl.Add_Zone_Section (g_Pref_Owner || '.EGO_ITEM_SECTION_GROUP', 'EGO_ITEM_AML_SECTION', 'aml');
376: ad_ctx_ddl.Add_Zone_Section (g_Pref_Owner || '.EGO_ITEM_SECTION_GROUP', 'EGO_ITEM_MFG_SECTION', 'mfg');
377: ad_ctx_ddl.Add_Zone_Section (g_Pref_Owner || '.EGO_ITEM_SECTION_GROUP', 'EGO_ITEM_MPN_SECTION', 'mpn');
378: --Bug 5094325 begin
371: ad_ctx_ddl.Add_Zone_Section (g_Pref_Owner || '.EGO_ITEM_SECTION_GROUP', 'EGO_ITEM_DESC_SECTION', 'desc');
372: ad_ctx_ddl.Add_Zone_Section (g_Pref_Owner || '.EGO_ITEM_SECTION_GROUP', 'EGO_ITEM_SHORTDESC_SECTION', 'shortdesc');
373: ad_ctx_ddl.Add_Zone_Section (g_Pref_Owner || '.EGO_ITEM_SECTION_GROUP', 'EGO_ITEM_LONGDESC_SECTION', 'longdesc');
374: ad_ctx_ddl.Add_Zone_Section (g_Pref_Owner || '.EGO_ITEM_SECTION_GROUP', 'EGO_ITEM_CAT_SECTION', 'cat');
375: ad_ctx_ddl.Add_Zone_Section (g_Pref_Owner || '.EGO_ITEM_SECTION_GROUP', 'EGO_ITEM_AML_SECTION', 'aml');
376: ad_ctx_ddl.Add_Zone_Section (g_Pref_Owner || '.EGO_ITEM_SECTION_GROUP', 'EGO_ITEM_MFG_SECTION', 'mfg');
377: ad_ctx_ddl.Add_Zone_Section (g_Pref_Owner || '.EGO_ITEM_SECTION_GROUP', 'EGO_ITEM_MPN_SECTION', 'mpn');
378: --Bug 5094325 begin
379: ad_ctx_ddl.Add_Zone_Section (g_Pref_Owner || '.EGO_ITEM_SECTION_GROUP', 'EGO_ITEM_ORG_SECTION', 'org');
372: ad_ctx_ddl.Add_Zone_Section (g_Pref_Owner || '.EGO_ITEM_SECTION_GROUP', 'EGO_ITEM_SHORTDESC_SECTION', 'shortdesc');
373: ad_ctx_ddl.Add_Zone_Section (g_Pref_Owner || '.EGO_ITEM_SECTION_GROUP', 'EGO_ITEM_LONGDESC_SECTION', 'longdesc');
374: ad_ctx_ddl.Add_Zone_Section (g_Pref_Owner || '.EGO_ITEM_SECTION_GROUP', 'EGO_ITEM_CAT_SECTION', 'cat');
375: ad_ctx_ddl.Add_Zone_Section (g_Pref_Owner || '.EGO_ITEM_SECTION_GROUP', 'EGO_ITEM_AML_SECTION', 'aml');
376: ad_ctx_ddl.Add_Zone_Section (g_Pref_Owner || '.EGO_ITEM_SECTION_GROUP', 'EGO_ITEM_MFG_SECTION', 'mfg');
377: ad_ctx_ddl.Add_Zone_Section (g_Pref_Owner || '.EGO_ITEM_SECTION_GROUP', 'EGO_ITEM_MPN_SECTION', 'mpn');
378: --Bug 5094325 begin
379: ad_ctx_ddl.Add_Zone_Section (g_Pref_Owner || '.EGO_ITEM_SECTION_GROUP', 'EGO_ITEM_ORG_SECTION', 'org');
380: ad_ctx_ddl.Add_Zone_Section (g_Pref_Owner || '.EGO_ITEM_SECTION_GROUP', 'EGO_ITEM_LANG_SECTION', 'lang');
373: ad_ctx_ddl.Add_Zone_Section (g_Pref_Owner || '.EGO_ITEM_SECTION_GROUP', 'EGO_ITEM_LONGDESC_SECTION', 'longdesc');
374: ad_ctx_ddl.Add_Zone_Section (g_Pref_Owner || '.EGO_ITEM_SECTION_GROUP', 'EGO_ITEM_CAT_SECTION', 'cat');
375: ad_ctx_ddl.Add_Zone_Section (g_Pref_Owner || '.EGO_ITEM_SECTION_GROUP', 'EGO_ITEM_AML_SECTION', 'aml');
376: ad_ctx_ddl.Add_Zone_Section (g_Pref_Owner || '.EGO_ITEM_SECTION_GROUP', 'EGO_ITEM_MFG_SECTION', 'mfg');
377: ad_ctx_ddl.Add_Zone_Section (g_Pref_Owner || '.EGO_ITEM_SECTION_GROUP', 'EGO_ITEM_MPN_SECTION', 'mpn');
378: --Bug 5094325 begin
379: ad_ctx_ddl.Add_Zone_Section (g_Pref_Owner || '.EGO_ITEM_SECTION_GROUP', 'EGO_ITEM_ORG_SECTION', 'org');
380: ad_ctx_ddl.Add_Zone_Section (g_Pref_Owner || '.EGO_ITEM_SECTION_GROUP', 'EGO_ITEM_LANG_SECTION', 'lang');
381: --Bug 5094325 end
375: ad_ctx_ddl.Add_Zone_Section (g_Pref_Owner || '.EGO_ITEM_SECTION_GROUP', 'EGO_ITEM_AML_SECTION', 'aml');
376: ad_ctx_ddl.Add_Zone_Section (g_Pref_Owner || '.EGO_ITEM_SECTION_GROUP', 'EGO_ITEM_MFG_SECTION', 'mfg');
377: ad_ctx_ddl.Add_Zone_Section (g_Pref_Owner || '.EGO_ITEM_SECTION_GROUP', 'EGO_ITEM_MPN_SECTION', 'mpn');
378: --Bug 5094325 begin
379: ad_ctx_ddl.Add_Zone_Section (g_Pref_Owner || '.EGO_ITEM_SECTION_GROUP', 'EGO_ITEM_ORG_SECTION', 'org');
380: ad_ctx_ddl.Add_Zone_Section (g_Pref_Owner || '.EGO_ITEM_SECTION_GROUP', 'EGO_ITEM_LANG_SECTION', 'lang');
381: --Bug 5094325 end
382:
383: -------------------------------
376: ad_ctx_ddl.Add_Zone_Section (g_Pref_Owner || '.EGO_ITEM_SECTION_GROUP', 'EGO_ITEM_MFG_SECTION', 'mfg');
377: ad_ctx_ddl.Add_Zone_Section (g_Pref_Owner || '.EGO_ITEM_SECTION_GROUP', 'EGO_ITEM_MPN_SECTION', 'mpn');
378: --Bug 5094325 begin
379: ad_ctx_ddl.Add_Zone_Section (g_Pref_Owner || '.EGO_ITEM_SECTION_GROUP', 'EGO_ITEM_ORG_SECTION', 'org');
380: ad_ctx_ddl.Add_Zone_Section (g_Pref_Owner || '.EGO_ITEM_SECTION_GROUP', 'EGO_ITEM_LANG_SECTION', 'lang');
381: --Bug 5094325 end
382:
383: -------------------------------
384: -- Create STOPLIST preference
387: --We are sticking with the default stoplist, containing several common English words and abbreviations
388: --Log_Line (l_api_name || ': creating STOPLIST preference ...');
389:
390: -- This should create stoplist equivalent to CTXSYS.EMPTY_STOPLIST
391: --ad_ctx_ddl.Create_Stoplist (g_Pref_Owner || '.EGO_ITEM_STOPLIST');
392:
393: -------------------------------
394: -- Create WORDLIST preference
395: -------------------------------
395: -------------------------------
396:
397: Log_Line (l_api_name || ': creating WORDLIST preference ...');
398:
399: ad_ctx_ddl.Create_Preference (g_Pref_Owner || '.EGO_ITEM_WORDLIST', 'BASIC_WORDLIST');
400:
401: -- Enable prefix indexing to improve performance for wildcard searches
402: ad_ctx_ddl.Set_Attribute (g_Pref_Owner || '.EGO_ITEM_WORDLIST', 'PREFIX_INDEX', 'TRUE');
403: ad_ctx_ddl.Set_Attribute (g_Pref_Owner || '.EGO_ITEM_WORDLIST', 'PREFIX_MIN_LENGTH', 2);
398:
399: ad_ctx_ddl.Create_Preference (g_Pref_Owner || '.EGO_ITEM_WORDLIST', 'BASIC_WORDLIST');
400:
401: -- Enable prefix indexing to improve performance for wildcard searches
402: ad_ctx_ddl.Set_Attribute (g_Pref_Owner || '.EGO_ITEM_WORDLIST', 'PREFIX_INDEX', 'TRUE');
403: ad_ctx_ddl.Set_Attribute (g_Pref_Owner || '.EGO_ITEM_WORDLIST', 'PREFIX_MIN_LENGTH', 2);
404: --ad_ctx_ddl.Set_Attribute (g_Pref_Owner || '.EGO_ITEM_WORDLIST', 'PREFIX_LENGTH_MIN', 2);
405: ad_ctx_ddl.Set_Attribute (g_Pref_Owner || '.EGO_ITEM_WORDLIST', 'PREFIX_MAX_LENGTH', 32);
406: --ad_ctx_ddl.Set_Attribute (g_Pref_Owner || '.EGO_ITEM_WORDLIST', 'PREFIX_LENGTH_MAX', 32);
399: ad_ctx_ddl.Create_Preference (g_Pref_Owner || '.EGO_ITEM_WORDLIST', 'BASIC_WORDLIST');
400:
401: -- Enable prefix indexing to improve performance for wildcard searches
402: ad_ctx_ddl.Set_Attribute (g_Pref_Owner || '.EGO_ITEM_WORDLIST', 'PREFIX_INDEX', 'TRUE');
403: ad_ctx_ddl.Set_Attribute (g_Pref_Owner || '.EGO_ITEM_WORDLIST', 'PREFIX_MIN_LENGTH', 2);
404: --ad_ctx_ddl.Set_Attribute (g_Pref_Owner || '.EGO_ITEM_WORDLIST', 'PREFIX_LENGTH_MIN', 2);
405: ad_ctx_ddl.Set_Attribute (g_Pref_Owner || '.EGO_ITEM_WORDLIST', 'PREFIX_MAX_LENGTH', 32);
406: --ad_ctx_ddl.Set_Attribute (g_Pref_Owner || '.EGO_ITEM_WORDLIST', 'PREFIX_LENGTH_MAX', 32);
407: ad_ctx_ddl.Set_Attribute (g_Pref_Owner || '.EGO_ITEM_WORDLIST', 'WILDCARD_MAXTERMS', 5000);
400:
401: -- Enable prefix indexing to improve performance for wildcard searches
402: ad_ctx_ddl.Set_Attribute (g_Pref_Owner || '.EGO_ITEM_WORDLIST', 'PREFIX_INDEX', 'TRUE');
403: ad_ctx_ddl.Set_Attribute (g_Pref_Owner || '.EGO_ITEM_WORDLIST', 'PREFIX_MIN_LENGTH', 2);
404: --ad_ctx_ddl.Set_Attribute (g_Pref_Owner || '.EGO_ITEM_WORDLIST', 'PREFIX_LENGTH_MIN', 2);
405: ad_ctx_ddl.Set_Attribute (g_Pref_Owner || '.EGO_ITEM_WORDLIST', 'PREFIX_MAX_LENGTH', 32);
406: --ad_ctx_ddl.Set_Attribute (g_Pref_Owner || '.EGO_ITEM_WORDLIST', 'PREFIX_LENGTH_MAX', 32);
407: ad_ctx_ddl.Set_Attribute (g_Pref_Owner || '.EGO_ITEM_WORDLIST', 'WILDCARD_MAXTERMS', 5000);
408:
401: -- Enable prefix indexing to improve performance for wildcard searches
402: ad_ctx_ddl.Set_Attribute (g_Pref_Owner || '.EGO_ITEM_WORDLIST', 'PREFIX_INDEX', 'TRUE');
403: ad_ctx_ddl.Set_Attribute (g_Pref_Owner || '.EGO_ITEM_WORDLIST', 'PREFIX_MIN_LENGTH', 2);
404: --ad_ctx_ddl.Set_Attribute (g_Pref_Owner || '.EGO_ITEM_WORDLIST', 'PREFIX_LENGTH_MIN', 2);
405: ad_ctx_ddl.Set_Attribute (g_Pref_Owner || '.EGO_ITEM_WORDLIST', 'PREFIX_MAX_LENGTH', 32);
406: --ad_ctx_ddl.Set_Attribute (g_Pref_Owner || '.EGO_ITEM_WORDLIST', 'PREFIX_LENGTH_MAX', 32);
407: ad_ctx_ddl.Set_Attribute (g_Pref_Owner || '.EGO_ITEM_WORDLIST', 'WILDCARD_MAXTERMS', 5000);
408:
409: -- This option should be TRUE only when left-truncated wildcard searching is expected
402: ad_ctx_ddl.Set_Attribute (g_Pref_Owner || '.EGO_ITEM_WORDLIST', 'PREFIX_INDEX', 'TRUE');
403: ad_ctx_ddl.Set_Attribute (g_Pref_Owner || '.EGO_ITEM_WORDLIST', 'PREFIX_MIN_LENGTH', 2);
404: --ad_ctx_ddl.Set_Attribute (g_Pref_Owner || '.EGO_ITEM_WORDLIST', 'PREFIX_LENGTH_MIN', 2);
405: ad_ctx_ddl.Set_Attribute (g_Pref_Owner || '.EGO_ITEM_WORDLIST', 'PREFIX_MAX_LENGTH', 32);
406: --ad_ctx_ddl.Set_Attribute (g_Pref_Owner || '.EGO_ITEM_WORDLIST', 'PREFIX_LENGTH_MAX', 32);
407: ad_ctx_ddl.Set_Attribute (g_Pref_Owner || '.EGO_ITEM_WORDLIST', 'WILDCARD_MAXTERMS', 5000);
408:
409: -- This option should be TRUE only when left-truncated wildcard searching is expected
410: -- to be frequent and needs to be fast (at the cost of increased index time and space).
403: ad_ctx_ddl.Set_Attribute (g_Pref_Owner || '.EGO_ITEM_WORDLIST', 'PREFIX_MIN_LENGTH', 2);
404: --ad_ctx_ddl.Set_Attribute (g_Pref_Owner || '.EGO_ITEM_WORDLIST', 'PREFIX_LENGTH_MIN', 2);
405: ad_ctx_ddl.Set_Attribute (g_Pref_Owner || '.EGO_ITEM_WORDLIST', 'PREFIX_MAX_LENGTH', 32);
406: --ad_ctx_ddl.Set_Attribute (g_Pref_Owner || '.EGO_ITEM_WORDLIST', 'PREFIX_LENGTH_MAX', 32);
407: ad_ctx_ddl.Set_Attribute (g_Pref_Owner || '.EGO_ITEM_WORDLIST', 'WILDCARD_MAXTERMS', 5000);
408:
409: -- This option should be TRUE only when left-truncated wildcard searching is expected
410: -- to be frequent and needs to be fast (at the cost of increased index time and space).
411: --
408:
409: -- This option should be TRUE only when left-truncated wildcard searching is expected
410: -- to be frequent and needs to be fast (at the cost of increased index time and space).
411: --
412: ad_ctx_ddl.Set_Attribute (g_Pref_Owner || '.EGO_ITEM_WORDLIST', 'SUBSTRING_INDEX', 'FALSE');
413:
414: -- WORDLIST attribute defaults: STEMMER: 'ENGLISH'; FUZZY_MATCH: 'GENERIC'
415: -- Use automatic language detection for stemming and fuzzy matching
416: ad_ctx_ddl.Set_Attribute (g_Pref_Owner || '.EGO_ITEM_WORDLIST', 'STEMMER', 'AUTO');
412: ad_ctx_ddl.Set_Attribute (g_Pref_Owner || '.EGO_ITEM_WORDLIST', 'SUBSTRING_INDEX', 'FALSE');
413:
414: -- WORDLIST attribute defaults: STEMMER: 'ENGLISH'; FUZZY_MATCH: 'GENERIC'
415: -- Use automatic language detection for stemming and fuzzy matching
416: ad_ctx_ddl.Set_Attribute (g_Pref_Owner || '.EGO_ITEM_WORDLIST', 'STEMMER', 'AUTO');
417: ad_ctx_ddl.Set_Attribute (g_Pref_Owner || '.EGO_ITEM_WORDLIST', 'FUZZY_MATCH', 'AUTO');
418: ad_ctx_ddl.Set_Attribute (g_Pref_Owner || '.EGO_ITEM_WORDLIST', 'FUZZY_SCORE', 40);
419: ad_ctx_ddl.Set_Attribute (g_Pref_Owner || '.EGO_ITEM_WORDLIST', 'FUZZY_NUMRESULTS', 120);
420:
413:
414: -- WORDLIST attribute defaults: STEMMER: 'ENGLISH'; FUZZY_MATCH: 'GENERIC'
415: -- Use automatic language detection for stemming and fuzzy matching
416: ad_ctx_ddl.Set_Attribute (g_Pref_Owner || '.EGO_ITEM_WORDLIST', 'STEMMER', 'AUTO');
417: ad_ctx_ddl.Set_Attribute (g_Pref_Owner || '.EGO_ITEM_WORDLIST', 'FUZZY_MATCH', 'AUTO');
418: ad_ctx_ddl.Set_Attribute (g_Pref_Owner || '.EGO_ITEM_WORDLIST', 'FUZZY_SCORE', 40);
419: ad_ctx_ddl.Set_Attribute (g_Pref_Owner || '.EGO_ITEM_WORDLIST', 'FUZZY_NUMRESULTS', 120);
420:
421: -----------------------------------------------
414: -- WORDLIST attribute defaults: STEMMER: 'ENGLISH'; FUZZY_MATCH: 'GENERIC'
415: -- Use automatic language detection for stemming and fuzzy matching
416: ad_ctx_ddl.Set_Attribute (g_Pref_Owner || '.EGO_ITEM_WORDLIST', 'STEMMER', 'AUTO');
417: ad_ctx_ddl.Set_Attribute (g_Pref_Owner || '.EGO_ITEM_WORDLIST', 'FUZZY_MATCH', 'AUTO');
418: ad_ctx_ddl.Set_Attribute (g_Pref_Owner || '.EGO_ITEM_WORDLIST', 'FUZZY_SCORE', 40);
419: ad_ctx_ddl.Set_Attribute (g_Pref_Owner || '.EGO_ITEM_WORDLIST', 'FUZZY_NUMRESULTS', 120);
420:
421: -----------------------------------------------
422: -- Create language-specific LEXER preferences
415: -- Use automatic language detection for stemming and fuzzy matching
416: ad_ctx_ddl.Set_Attribute (g_Pref_Owner || '.EGO_ITEM_WORDLIST', 'STEMMER', 'AUTO');
417: ad_ctx_ddl.Set_Attribute (g_Pref_Owner || '.EGO_ITEM_WORDLIST', 'FUZZY_MATCH', 'AUTO');
418: ad_ctx_ddl.Set_Attribute (g_Pref_Owner || '.EGO_ITEM_WORDLIST', 'FUZZY_SCORE', 40);
419: ad_ctx_ddl.Set_Attribute (g_Pref_Owner || '.EGO_ITEM_WORDLIST', 'FUZZY_NUMRESULTS', 120);
420:
421: -----------------------------------------------
422: -- Create language-specific LEXER preferences
423: -----------------------------------------------
431: IF ( Lang_Code_List(i) = 'JA' ) THEN
432:
433: -- Use JAPANESE_LEXER if db charset is UTF8, JA16SJIS, or JA16EUC.
434: IF ( EGO_ITEM_TEXT_UTIL.get_DB_Version_Num >= 9.0 ) THEN
435: ad_ctx_ddl.Create_Preference (Lexer_Name, 'JAPANESE_LEXER');
436: ELSE
437: ad_ctx_ddl.Create_Preference (Lexer_Name, 'JAPANESE_VGRAM_LEXER');
438: END IF;
439:
433: -- Use JAPANESE_LEXER if db charset is UTF8, JA16SJIS, or JA16EUC.
434: IF ( EGO_ITEM_TEXT_UTIL.get_DB_Version_Num >= 9.0 ) THEN
435: ad_ctx_ddl.Create_Preference (Lexer_Name, 'JAPANESE_LEXER');
436: ELSE
437: ad_ctx_ddl.Create_Preference (Lexer_Name, 'JAPANESE_VGRAM_LEXER');
438: END IF;
439:
440: ELSIF ( Lang_Code_List(i) = 'KO' ) THEN
441:
440: ELSIF ( Lang_Code_List(i) = 'KO' ) THEN
441:
442: -- Use KOREAN_MORPH_LEXER if db charset is UTF8 or KO16KSC5601.
443: IF ( EGO_ITEM_TEXT_UTIL.get_DB_Version_Num >= 9.0 ) THEN
444: ad_ctx_ddl.Create_Preference (Lexer_Name, 'KOREAN_MORPH_LEXER');
445: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'VERB_ADJECTIVE', 'TRUE');
446: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'ONE_CHAR_WORD', 'TRUE');
447: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'NUMBER', 'TRUE');
448: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'COMPOSITE', 'NGRAM');
441:
442: -- Use KOREAN_MORPH_LEXER if db charset is UTF8 or KO16KSC5601.
443: IF ( EGO_ITEM_TEXT_UTIL.get_DB_Version_Num >= 9.0 ) THEN
444: ad_ctx_ddl.Create_Preference (Lexer_Name, 'KOREAN_MORPH_LEXER');
445: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'VERB_ADJECTIVE', 'TRUE');
446: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'ONE_CHAR_WORD', 'TRUE');
447: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'NUMBER', 'TRUE');
448: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'COMPOSITE', 'NGRAM');
449: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'MORPHEME', 'TRUE');
442: -- Use KOREAN_MORPH_LEXER if db charset is UTF8 or KO16KSC5601.
443: IF ( EGO_ITEM_TEXT_UTIL.get_DB_Version_Num >= 9.0 ) THEN
444: ad_ctx_ddl.Create_Preference (Lexer_Name, 'KOREAN_MORPH_LEXER');
445: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'VERB_ADJECTIVE', 'TRUE');
446: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'ONE_CHAR_WORD', 'TRUE');
447: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'NUMBER', 'TRUE');
448: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'COMPOSITE', 'NGRAM');
449: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'MORPHEME', 'TRUE');
450: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'HANJA', 'FALSE');
443: IF ( EGO_ITEM_TEXT_UTIL.get_DB_Version_Num >= 9.0 ) THEN
444: ad_ctx_ddl.Create_Preference (Lexer_Name, 'KOREAN_MORPH_LEXER');
445: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'VERB_ADJECTIVE', 'TRUE');
446: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'ONE_CHAR_WORD', 'TRUE');
447: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'NUMBER', 'TRUE');
448: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'COMPOSITE', 'NGRAM');
449: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'MORPHEME', 'TRUE');
450: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'HANJA', 'FALSE');
451: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'LONG_WORD', 'TRUE');
444: ad_ctx_ddl.Create_Preference (Lexer_Name, 'KOREAN_MORPH_LEXER');
445: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'VERB_ADJECTIVE', 'TRUE');
446: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'ONE_CHAR_WORD', 'TRUE');
447: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'NUMBER', 'TRUE');
448: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'COMPOSITE', 'NGRAM');
449: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'MORPHEME', 'TRUE');
450: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'HANJA', 'FALSE');
451: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'LONG_WORD', 'TRUE');
452: --ad_ctx_ddl.Set_Attribute (Lexer_Name, 'JAPANESE', 'FALSE');
445: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'VERB_ADJECTIVE', 'TRUE');
446: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'ONE_CHAR_WORD', 'TRUE');
447: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'NUMBER', 'TRUE');
448: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'COMPOSITE', 'NGRAM');
449: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'MORPHEME', 'TRUE');
450: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'HANJA', 'FALSE');
451: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'LONG_WORD', 'TRUE');
452: --ad_ctx_ddl.Set_Attribute (Lexer_Name, 'JAPANESE', 'FALSE');
453: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'ENGLISH', 'TRUE');
446: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'ONE_CHAR_WORD', 'TRUE');
447: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'NUMBER', 'TRUE');
448: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'COMPOSITE', 'NGRAM');
449: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'MORPHEME', 'TRUE');
450: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'HANJA', 'FALSE');
451: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'LONG_WORD', 'TRUE');
452: --ad_ctx_ddl.Set_Attribute (Lexer_Name, 'JAPANESE', 'FALSE');
453: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'ENGLISH', 'TRUE');
454: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'TO_UPPER', 'TRUE');
447: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'NUMBER', 'TRUE');
448: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'COMPOSITE', 'NGRAM');
449: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'MORPHEME', 'TRUE');
450: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'HANJA', 'FALSE');
451: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'LONG_WORD', 'TRUE');
452: --ad_ctx_ddl.Set_Attribute (Lexer_Name, 'JAPANESE', 'FALSE');
453: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'ENGLISH', 'TRUE');
454: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'TO_UPPER', 'TRUE');
455: ELSE
448: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'COMPOSITE', 'NGRAM');
449: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'MORPHEME', 'TRUE');
450: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'HANJA', 'FALSE');
451: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'LONG_WORD', 'TRUE');
452: --ad_ctx_ddl.Set_Attribute (Lexer_Name, 'JAPANESE', 'FALSE');
453: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'ENGLISH', 'TRUE');
454: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'TO_UPPER', 'TRUE');
455: ELSE
456: ad_ctx_ddl.Create_Preference (Lexer_Name, 'KOREAN_LEXER');
449: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'MORPHEME', 'TRUE');
450: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'HANJA', 'FALSE');
451: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'LONG_WORD', 'TRUE');
452: --ad_ctx_ddl.Set_Attribute (Lexer_Name, 'JAPANESE', 'FALSE');
453: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'ENGLISH', 'TRUE');
454: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'TO_UPPER', 'TRUE');
455: ELSE
456: ad_ctx_ddl.Create_Preference (Lexer_Name, 'KOREAN_LEXER');
457: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'VERB', 'TRUE');
450: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'HANJA', 'FALSE');
451: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'LONG_WORD', 'TRUE');
452: --ad_ctx_ddl.Set_Attribute (Lexer_Name, 'JAPANESE', 'FALSE');
453: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'ENGLISH', 'TRUE');
454: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'TO_UPPER', 'TRUE');
455: ELSE
456: ad_ctx_ddl.Create_Preference (Lexer_Name, 'KOREAN_LEXER');
457: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'VERB', 'TRUE');
458: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'ADJECTIVE', 'TRUE');
452: --ad_ctx_ddl.Set_Attribute (Lexer_Name, 'JAPANESE', 'FALSE');
453: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'ENGLISH', 'TRUE');
454: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'TO_UPPER', 'TRUE');
455: ELSE
456: ad_ctx_ddl.Create_Preference (Lexer_Name, 'KOREAN_LEXER');
457: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'VERB', 'TRUE');
458: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'ADJECTIVE', 'TRUE');
459: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'ADVERB', 'TRUE');
460: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'ONECHAR', 'TRUE');
453: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'ENGLISH', 'TRUE');
454: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'TO_UPPER', 'TRUE');
455: ELSE
456: ad_ctx_ddl.Create_Preference (Lexer_Name, 'KOREAN_LEXER');
457: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'VERB', 'TRUE');
458: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'ADJECTIVE', 'TRUE');
459: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'ADVERB', 'TRUE');
460: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'ONECHAR', 'TRUE');
461: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'NUMBER', 'TRUE');
454: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'TO_UPPER', 'TRUE');
455: ELSE
456: ad_ctx_ddl.Create_Preference (Lexer_Name, 'KOREAN_LEXER');
457: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'VERB', 'TRUE');
458: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'ADJECTIVE', 'TRUE');
459: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'ADVERB', 'TRUE');
460: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'ONECHAR', 'TRUE');
461: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'NUMBER', 'TRUE');
462: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'COMPOSITE', 'TRUE');
455: ELSE
456: ad_ctx_ddl.Create_Preference (Lexer_Name, 'KOREAN_LEXER');
457: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'VERB', 'TRUE');
458: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'ADJECTIVE', 'TRUE');
459: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'ADVERB', 'TRUE');
460: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'ONECHAR', 'TRUE');
461: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'NUMBER', 'TRUE');
462: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'COMPOSITE', 'TRUE');
463: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'MORPHEME', 'TRUE');
456: ad_ctx_ddl.Create_Preference (Lexer_Name, 'KOREAN_LEXER');
457: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'VERB', 'TRUE');
458: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'ADJECTIVE', 'TRUE');
459: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'ADVERB', 'TRUE');
460: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'ONECHAR', 'TRUE');
461: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'NUMBER', 'TRUE');
462: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'COMPOSITE', 'TRUE');
463: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'MORPHEME', 'TRUE');
464: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'TOHANGEUL', 'TRUE');
457: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'VERB', 'TRUE');
458: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'ADJECTIVE', 'TRUE');
459: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'ADVERB', 'TRUE');
460: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'ONECHAR', 'TRUE');
461: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'NUMBER', 'TRUE');
462: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'COMPOSITE', 'TRUE');
463: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'MORPHEME', 'TRUE');
464: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'TOHANGEUL', 'TRUE');
465: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'TOUPPER', 'TRUE');
458: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'ADJECTIVE', 'TRUE');
459: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'ADVERB', 'TRUE');
460: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'ONECHAR', 'TRUE');
461: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'NUMBER', 'TRUE');
462: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'COMPOSITE', 'TRUE');
463: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'MORPHEME', 'TRUE');
464: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'TOHANGEUL', 'TRUE');
465: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'TOUPPER', 'TRUE');
466: END IF;
459: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'ADVERB', 'TRUE');
460: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'ONECHAR', 'TRUE');
461: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'NUMBER', 'TRUE');
462: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'COMPOSITE', 'TRUE');
463: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'MORPHEME', 'TRUE');
464: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'TOHANGEUL', 'TRUE');
465: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'TOUPPER', 'TRUE');
466: END IF;
467:
460: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'ONECHAR', 'TRUE');
461: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'NUMBER', 'TRUE');
462: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'COMPOSITE', 'TRUE');
463: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'MORPHEME', 'TRUE');
464: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'TOHANGEUL', 'TRUE');
465: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'TOUPPER', 'TRUE');
466: END IF;
467:
468: ELSIF ( Lang_Code_List(i) IN ('ZHS', 'ZHT') ) THEN
461: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'NUMBER', 'TRUE');
462: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'COMPOSITE', 'TRUE');
463: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'MORPHEME', 'TRUE');
464: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'TOHANGEUL', 'TRUE');
465: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'TOUPPER', 'TRUE');
466: END IF;
467:
468: ELSIF ( Lang_Code_List(i) IN ('ZHS', 'ZHT') ) THEN
469:
467:
468: ELSIF ( Lang_Code_List(i) IN ('ZHS', 'ZHT') ) THEN
469:
470: IF ( EGO_ITEM_TEXT_UTIL.get_DB_Version_Num >= 9.2 ) THEN
471: ad_ctx_ddl.Create_Preference (Lexer_Name, 'CHINESE_LEXER');
472: ELSE
473: ad_ctx_ddl.Create_Preference (Lexer_Name, 'CHINESE_VGRAM_LEXER');
474: END IF;
475:
469:
470: IF ( EGO_ITEM_TEXT_UTIL.get_DB_Version_Num >= 9.2 ) THEN
471: ad_ctx_ddl.Create_Preference (Lexer_Name, 'CHINESE_LEXER');
472: ELSE
473: ad_ctx_ddl.Create_Preference (Lexer_Name, 'CHINESE_VGRAM_LEXER');
474: END IF;
475:
476: ELSE
477: -- All other languages use basic lexer.
475:
476: ELSE
477: -- All other languages use basic lexer.
478:
479: ad_ctx_ddl.Create_Preference (Lexer_Name, 'BASIC_LEXER');
480:
481: -- The following language-independent attributes are
482: -- common to the BASIC_LEXER preference object.
483:
480:
481: -- The following language-independent attributes are
482: -- common to the BASIC_LEXER preference object.
483:
484: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'INDEX_TEXT', 'YES');
485: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'INDEX_THEMES', 'NO');
486:
487: -- For printjoin characters include all possible flex segment separators
488: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'PRINTJOINS', get_printjoins('-_*~^+.$#@:|&=')); --for bug 8465088, append '=' as PRINTJOINS; for bug 10274574, we exclude KFF delimiters
481: -- The following language-independent attributes are
482: -- common to the BASIC_LEXER preference object.
483:
484: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'INDEX_TEXT', 'YES');
485: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'INDEX_THEMES', 'NO');
486:
487: -- For printjoin characters include all possible flex segment separators
488: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'PRINTJOINS', get_printjoins('-_*~^+.$#@:|&=')); --for bug 8465088, append '=' as PRINTJOINS; for bug 10274574, we exclude KFF delimiters
489: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'CONTINUATION', '-\');
484: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'INDEX_TEXT', 'YES');
485: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'INDEX_THEMES', 'NO');
486:
487: -- For printjoin characters include all possible flex segment separators
488: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'PRINTJOINS', get_printjoins('-_*~^+.$#@:|&=')); --for bug 8465088, append '=' as PRINTJOINS; for bug 10274574, we exclude KFF delimiters
489: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'CONTINUATION', '-\');
490: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'PUNCTUATIONS', '.?!');
491:
492: -- The default values for numjoin and numgroup are determined by
485: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'INDEX_THEMES', 'NO');
486:
487: -- For printjoin characters include all possible flex segment separators
488: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'PRINTJOINS', get_printjoins('-_*~^+.$#@:|&=')); --for bug 8465088, append '=' as PRINTJOINS; for bug 10274574, we exclude KFF delimiters
489: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'CONTINUATION', '-\');
490: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'PUNCTUATIONS', '.?!');
491:
492: -- The default values for numjoin and numgroup are determined by
493: -- the NLS initialization parameters that are specified for the database.
486:
487: -- For printjoin characters include all possible flex segment separators
488: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'PRINTJOINS', get_printjoins('-_*~^+.$#@:|&=')); --for bug 8465088, append '=' as PRINTJOINS; for bug 10274574, we exclude KFF delimiters
489: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'CONTINUATION', '-\');
490: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'PUNCTUATIONS', '.?!');
491:
492: -- The default values for numjoin and numgroup are determined by
493: -- the NLS initialization parameters that are specified for the database.
494: --ad_ctx_ddl.Set_Attribute (Lexer_Name, 'NUMGROUP', ',');
490: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'PUNCTUATIONS', '.?!');
491:
492: -- The default values for numjoin and numgroup are determined by
493: -- the NLS initialization parameters that are specified for the database.
494: --ad_ctx_ddl.Set_Attribute (Lexer_Name, 'NUMGROUP', ',');
495: --ad_ctx_ddl.Set_Attribute (Lexer_Name, 'NUMJOIN', '.');
496:
497: -- Stem indexing stems tokens at indexing time to a single base form in addition
498: -- to the normal forms. This enables better query performance for stem ($) queries.
491:
492: -- The default values for numjoin and numgroup are determined by
493: -- the NLS initialization parameters that are specified for the database.
494: --ad_ctx_ddl.Set_Attribute (Lexer_Name, 'NUMGROUP', ',');
495: --ad_ctx_ddl.Set_Attribute (Lexer_Name, 'NUMJOIN', '.');
496:
497: -- Stem indexing stems tokens at indexing time to a single base form in addition
498: -- to the normal forms. This enables better query performance for stem ($) queries.
499:
501: -- This would not affect stem expansion (with $) at query time.
502: --
503: --IF ( EGO_ITEM_TEXT_UTIL.get_DB_Version_Num >= 9.2 ) THEN
504: -- IF ( Lang_Code_List(i) IN ('US', 'GB') ) THEN
505: -- ad_ctx_ddl.Set_Attribute (Lexer_Name, 'INDEX_STEMS', 'ENGLISH');
506: -- ELSIF ( Lang_Code_List(i) = 'NL' ) THEN
507: -- ad_ctx_ddl.Set_Attribute (Lexer_Name, 'INDEX_STEMS', 'DUTCH');
508: -- ELSIF ( Lang_Code_List(i) = 'D' ) THEN
509: -- ad_ctx_ddl.Set_Attribute (Lexer_Name, 'INDEX_STEMS', 'GERMAN');
503: --IF ( EGO_ITEM_TEXT_UTIL.get_DB_Version_Num >= 9.2 ) THEN
504: -- IF ( Lang_Code_List(i) IN ('US', 'GB') ) THEN
505: -- ad_ctx_ddl.Set_Attribute (Lexer_Name, 'INDEX_STEMS', 'ENGLISH');
506: -- ELSIF ( Lang_Code_List(i) = 'NL' ) THEN
507: -- ad_ctx_ddl.Set_Attribute (Lexer_Name, 'INDEX_STEMS', 'DUTCH');
508: -- ELSIF ( Lang_Code_List(i) = 'D' ) THEN
509: -- ad_ctx_ddl.Set_Attribute (Lexer_Name, 'INDEX_STEMS', 'GERMAN');
510: -- ELSIF ( Lang_Code_List(i) = 'F' ) THEN
511: -- ad_ctx_ddl.Set_Attribute (Lexer_Name, 'INDEX_STEMS', 'FRENCH');
505: -- ad_ctx_ddl.Set_Attribute (Lexer_Name, 'INDEX_STEMS', 'ENGLISH');
506: -- ELSIF ( Lang_Code_List(i) = 'NL' ) THEN
507: -- ad_ctx_ddl.Set_Attribute (Lexer_Name, 'INDEX_STEMS', 'DUTCH');
508: -- ELSIF ( Lang_Code_List(i) = 'D' ) THEN
509: -- ad_ctx_ddl.Set_Attribute (Lexer_Name, 'INDEX_STEMS', 'GERMAN');
510: -- ELSIF ( Lang_Code_List(i) = 'F' ) THEN
511: -- ad_ctx_ddl.Set_Attribute (Lexer_Name, 'INDEX_STEMS', 'FRENCH');
512: -- ELSIF ( Lang_Code_List(i) = 'I' ) THEN
513: -- ad_ctx_ddl.Set_Attribute (Lexer_Name, 'INDEX_STEMS', 'ITALIAN');
507: -- ad_ctx_ddl.Set_Attribute (Lexer_Name, 'INDEX_STEMS', 'DUTCH');
508: -- ELSIF ( Lang_Code_List(i) = 'D' ) THEN
509: -- ad_ctx_ddl.Set_Attribute (Lexer_Name, 'INDEX_STEMS', 'GERMAN');
510: -- ELSIF ( Lang_Code_List(i) = 'F' ) THEN
511: -- ad_ctx_ddl.Set_Attribute (Lexer_Name, 'INDEX_STEMS', 'FRENCH');
512: -- ELSIF ( Lang_Code_List(i) = 'I' ) THEN
513: -- ad_ctx_ddl.Set_Attribute (Lexer_Name, 'INDEX_STEMS', 'ITALIAN');
514: -- ELSIF ( Lang_Code_List(i) IN ('E', 'ESA') ) THEN
515: -- ad_ctx_ddl.Set_Attribute (Lexer_Name, 'INDEX_STEMS', 'SPANISH');
509: -- ad_ctx_ddl.Set_Attribute (Lexer_Name, 'INDEX_STEMS', 'GERMAN');
510: -- ELSIF ( Lang_Code_List(i) = 'F' ) THEN
511: -- ad_ctx_ddl.Set_Attribute (Lexer_Name, 'INDEX_STEMS', 'FRENCH');
512: -- ELSIF ( Lang_Code_List(i) = 'I' ) THEN
513: -- ad_ctx_ddl.Set_Attribute (Lexer_Name, 'INDEX_STEMS', 'ITALIAN');
514: -- ELSIF ( Lang_Code_List(i) IN ('E', 'ESA') ) THEN
515: -- ad_ctx_ddl.Set_Attribute (Lexer_Name, 'INDEX_STEMS', 'SPANISH');
516: -- END IF;
517: --END IF;
511: -- ad_ctx_ddl.Set_Attribute (Lexer_Name, 'INDEX_STEMS', 'FRENCH');
512: -- ELSIF ( Lang_Code_List(i) = 'I' ) THEN
513: -- ad_ctx_ddl.Set_Attribute (Lexer_Name, 'INDEX_STEMS', 'ITALIAN');
514: -- ELSIF ( Lang_Code_List(i) IN ('E', 'ESA') ) THEN
515: -- ad_ctx_ddl.Set_Attribute (Lexer_Name, 'INDEX_STEMS', 'SPANISH');
516: -- END IF;
517: --END IF;
518:
519: -- Language-specific attribute values for BASIC_LEXER preference object
518:
519: -- Language-specific attribute values for BASIC_LEXER preference object
520:
521: IF ( Lang_Code_List(i) = 'NL' ) THEN
522: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'COMPOSITE', 'DUTCH');
523:
524: ELSIF ( Lang_Code_List(i) = 'D' ) THEN
525: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'COMPOSITE', 'GERMAN');
526: -- Basic lexer in 8.1.7 allows the MIXED_CASE to be FALSE when COMPOSITE is set.
521: IF ( Lang_Code_List(i) = 'NL' ) THEN
522: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'COMPOSITE', 'DUTCH');
523:
524: ELSIF ( Lang_Code_List(i) = 'D' ) THEN
525: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'COMPOSITE', 'GERMAN');
526: -- Basic lexer in 8.1.7 allows the MIXED_CASE to be FALSE when COMPOSITE is set.
527: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'MIXED_CASE', 'NO');
528: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'ALTERNATE_SPELLING', 'GERMAN');
529:
523:
524: ELSIF ( Lang_Code_List(i) = 'D' ) THEN
525: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'COMPOSITE', 'GERMAN');
526: -- Basic lexer in 8.1.7 allows the MIXED_CASE to be FALSE when COMPOSITE is set.
527: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'MIXED_CASE', 'NO');
528: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'ALTERNATE_SPELLING', 'GERMAN');
529:
530: ELSIF ( Lang_Code_List(i) = 'DK' ) THEN
531: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'ALTERNATE_SPELLING', 'DANISH');
524: ELSIF ( Lang_Code_List(i) = 'D' ) THEN
525: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'COMPOSITE', 'GERMAN');
526: -- Basic lexer in 8.1.7 allows the MIXED_CASE to be FALSE when COMPOSITE is set.
527: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'MIXED_CASE', 'NO');
528: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'ALTERNATE_SPELLING', 'GERMAN');
529:
530: ELSIF ( Lang_Code_List(i) = 'DK' ) THEN
531: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'ALTERNATE_SPELLING', 'DANISH');
532:
527: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'MIXED_CASE', 'NO');
528: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'ALTERNATE_SPELLING', 'GERMAN');
529:
530: ELSIF ( Lang_Code_List(i) = 'DK' ) THEN
531: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'ALTERNATE_SPELLING', 'DANISH');
532:
533: ELSIF ( Lang_Code_List(i) = 'S' ) THEN
534: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'ALTERNATE_SPELLING', 'SWEDISH');
535:
530: ELSIF ( Lang_Code_List(i) = 'DK' ) THEN
531: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'ALTERNATE_SPELLING', 'DANISH');
532:
533: ELSIF ( Lang_Code_List(i) = 'S' ) THEN
534: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'ALTERNATE_SPELLING', 'SWEDISH');
535:
536: ELSIF ( Lang_Code_List(i) = 'N' ) THEN
537: -- Both Norwegian and Danish use the same special characters that are
538: -- rendered alternatively as "aa", "ae", and "oe".
535:
536: ELSIF ( Lang_Code_List(i) = 'N' ) THEN
537: -- Both Norwegian and Danish use the same special characters that are
538: -- rendered alternatively as "aa", "ae", and "oe".
539: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'ALTERNATE_SPELLING', 'DANISH');
540:
541: ELSIF ( Lang_Code_List(i) = 'F' ) THEN
542: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'BASE_LETTER', 'YES');
543:
538: -- rendered alternatively as "aa", "ae", and "oe".
539: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'ALTERNATE_SPELLING', 'DANISH');
540:
541: ELSIF ( Lang_Code_List(i) = 'F' ) THEN
542: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'BASE_LETTER', 'YES');
543:
544: ELSE
545: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'ALTERNATE_SPELLING', 'NONE');
546:
541: ELSIF ( Lang_Code_List(i) = 'F' ) THEN
542: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'BASE_LETTER', 'YES');
543:
544: ELSE
545: ad_ctx_ddl.Set_Attribute (Lexer_Name, 'ALTERNATE_SPELLING', 'NONE');
546:
547: END IF;
548: END IF;
549:
554: ----------------------------------
555:
556: Log_Line (l_api_name || ': creating MULTI_LEXER preference ...');
557:
558: ad_ctx_ddl.Create_Preference (g_Pref_Owner || '.EGO_ITEM_MULTI_LEXER', 'MULTI_LEXER');
559:
560: FOR i IN Lang_Code_List.FIRST .. Lang_Code_List.LAST
561: LOOP
562: Lexer_Name := g_Pref_Owner || '.EGO_ITEM_LEXER_' || Lang_Code_List(i);
567: -- when adding the sub lexers:
568:
569: IF ( Lang_Code_List(i) = 'US' ) THEN
570: -- US English lexer to handle everything else.
571: ad_ctx_ddl.Add_Sub_Lexer ( g_Pref_Owner || '.EGO_ITEM_MULTI_LEXER', 'DEFAULT'
572: , g_Pref_Owner || '.EGO_ITEM_LEXER_US' );
573: ELSE
574: ad_ctx_ddl.Add_Sub_Lexer
575: ( lexer_name => g_Pref_Owner || '.EGO_ITEM_MULTI_LEXER'
570: -- US English lexer to handle everything else.
571: ad_ctx_ddl.Add_Sub_Lexer ( g_Pref_Owner || '.EGO_ITEM_MULTI_LEXER', 'DEFAULT'
572: , g_Pref_Owner || '.EGO_ITEM_LEXER_US' );
573: ELSE
574: ad_ctx_ddl.Add_Sub_Lexer
575: ( lexer_name => g_Pref_Owner || '.EGO_ITEM_MULTI_LEXER'
576: , language => Lang_Code_List(i)
577: , sub_lexer => Lexer_Name
578: --, alt_value => Lang_ISO_List(i)