TURKISH LEXER INDEX

Özellikle text index olarak indexlenecek dokuman veya tablolar içerisinde türkçe karakterlerin indexlenmesini ve aramalarda ingilizce karakterle ile türkçe karakterlerin birlikte aranmasını sağlayan yapıdır (c – ç, u-ü vb..).

begin
     ctx_ddl.set_attribute('turkish_lexer','mixed_case','no');
     ctx_ddl.set_attribute('turkish_lexer','base_letter','yes');
     ctx_ddl.set_attribute('turkish_lexer','base_letter_type','specific');
     ctx_ddl.set_attribute('turkish_lexer','printjoins','_');
     ctx_ddl.add_sub_lexer('global_lexer', 'turkish', 'turkish_lexer', 'TRH');
end;

Veritabanımız turkish_lexer tanmladık artık bunu kullanarak indexler oluşturabiliriz. Aşağıda bu tip bir indexi nasıl oluşturduğumuz görmek için, bir text index örneği verdik;

begin       
    ctx_ddl.create_preference(preference_name => 'test_lexer_idx_pref',
                        object_name => 'MULTI_COLUMN_DATASTORE');
end;
begin
ctx_ddl.set_attribute(
    preference_name => 'test_lexer_idx_pref',
    attribute_name =>'COLUMNS',
    attribute_value => 'ADSOYAD,NUMARA,BOLUM');
end;
create index FTI_TEST_IDX on TEST_TABLE(fti) 
 indextype is ctxsys.context
parameters('DATASTORE test_lexer_idx_pref lexer turkish_lexer');

Burada kullanılan Turkish Lexer tanımını istersek text index te kullandığımız gibi normal index içinde kullanabiliriz.