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...