oracle全文索引的簡單配置

2021-08-31 15:26:18 字數 1125 閱讀 5085

1.建立資料儲存定義(datastore),使用多列資料儲存在多列上建立全文索引

begin

ctx_ddl.create_preference('infogrid_com_datastore','multi_column_datastore');

ctx_ddl.set_attribute('infogrid_com_datastore','columns','name,address,business_zone,faren,fund,introduction');

end;

2.建立詞法分析器(lexer)

begin

ctx_ddl.create_preference('infogrid_lexer','chinese_lexer');

end;

3.建立全文索引(索引在dml提交後自動同步更新)

createindexinfogrid_com_full_idxong2b_com(name)

indextype is ctxsys.context

parameters(

'lexer infogrid_lexer

datastore infogrid_com_datastore

sync (on commit)'--使用實時同步(dml提交時同步全文索引)

)--手工同步索引(如果使用自動同步,這步可省略)

begin

ctx_ddl.sync_index('infogrid_com_full_idx');

end;

4.使用全文索引查詢(按照出現頻率排序)

selectscore(0),t.*fromg2b_com twherecontains(name,'條件一,條件二',0)>0orderbyscore(0)desc

5.刪除全文索引(刪除詞法分析器,刪除資料儲存定義,刪除索引)

begin

ctx_ddl.drop_preference('infogrid_com_datastore');--刪除資料儲存定義datastore

ctx_ddl.drop_preference('infogrid_lexer');--刪除詞法分析器

end;

dropindexinfogrid_com_full_idx;--刪除索引

ORACLE 全文索引

6 全文索引查詢語句contains select count from tablename t where contains t.name,農業銀行 公司 0 select from tablename t where contains t.name,農業 安徽 中 部 0 select from...

Oracle全文索引

zt 步驟三 設定詞法分析器 lexer oracle實現全文檢索,其機制其實很簡單。即通過oracle專利的詞法分析器 lexer 將文章中所有的表意單元 oracle 稱為 term 找出來,記錄在一組 以dr 開頭的表中,同時記下該term出現的位置 次數 hash 值等資訊。檢索時,orac...

mysql全文索引的坑 MySQL全文索引問題

我有乙個包含以下資料的 文章 mysql select from articles id title body 1 mysql tutorial dbms stands for database 2 how to use mysql well after you went through a 3 o...