listener =
(description_list =
(description =
(address_list =
(address = (protocol = ipc)(key = extproc0))
)(address_list =
(address = (protocol = tcp)(host = server)(port = 1521))))
)sid_list_listener =
(sid_list =
(sid_desc =
(sid_name = pl***tproc)
(oracle_home = d:/oracle/ora92)
(program = extproc)
)(sid_desc =
(global_dbname = server)
(oracle_home = d:/oracle/ora92)
(sid_name = server)))
2、設定語法分析器
在ctxsys下,預設使用的是basic_lexer,對英文支援比較好,為支援中文,做如下設定
begin ctx_ddl.create_preference('my_lexer','chinese_vgram_lexer'); end;
3、例項
在使用者search下search_catalog表的page_desc,link_tile需要進行全文檢索,如下
create index index_text on search_catalog(page_desc) indextype is ctxsys.context parameters('lexer ctxsys.my_lexer');
create index index_title on search_catalog(link_title) indextype is ctxsys.context parameters('lexer ctxsys.my_lexer');
//可以修改index 的儲存空間,最簡單的方法是建立在其他使用者的預設儲存空間上
grant create any index to "search";
grant alter any index to "search";
create index shiyq_index.index_text on search_catalog(page_desc) indextype is ctxsys.context parameters('lexer ctxsys.my_lexer');
create index shiyq_index.index_title on search_catalog(link_title) indextype is ctxsys.context parameters('lexer ctxsys.my_lexer');
//可以定製儲存空間
同步(當原始資料變化時,索引不會自動重建,所以需要手工同步)
alter index index_text rebuild online parameters('sync');
alter index index_title rebuild online parameters('sync');
或alter index shiyq_index.index_text rebuild online parameters('sync');
alter index shiyq_index.index_title rebuild online parameters('sync');
4、結果
select t.*, t.rowid from search_catalog t
where instr(t.page_desc,'健康')>0
select * from search_catalog where contains(page_desc,'健康')>0
5、補遺:
這種情況下當檢索乙個單詞的時候,會使用兩個欄位的全文檢索,使用and ,or 來連線,這樣效能比較低,
而且容易造成cpu的瓶頸,所以可以將兩個字段合為乙個,如將link_title增加到page_desc的後面,然後
sql由
select * from search_catalog t where contains(t.link_title,'健康')>0 and contains (t.page_desc,
'健康')>0
修改為select * from search_catalog t where contains(t.page_desc,'健康')>0
如果搜尋多個單詞,可以用邏輯符號,如 邏輯與(and 或 & ),邏輯或(or 或 | ),邏輯非(not 或 ~),可以
用括號組織
如搜尋包含「健康」,「藥品」或「產品」,但不包含「海虹」的資料
select * from search_catalog t where contains(t.page_desc,'( 健康 & ( 藥品 | 產品) ) ~ 海虹 ')>0
參考了玉面飛龍的大作,這篇文章非常好,我寫的非常簡單,有問題可以去看看http://epub.itpub.net/4/1.htm,
解除安裝Oracle 9i
1 停止所有oracle服務 2 刪除登錄檔中的所有關於oracle項 1 在hkey local machine software下,刪除oracle目錄 2 在hkey local machine system controlset001 services下,刪除所有oracle項 3 在hke...
oracle9i解除安裝
今天裝了oracle 9i,後來重灌遇到問題因為解除安裝未乾淨。幾經周折終於成功,現將解除安裝步驟供以後參考 1 停止服務 開啟 服務 然後停止所有oracle服務 2 刪除程式 3 刪除登錄檔中的所有關於oracle項 1 在hkey local machine software下,刪除oracl...
oracle9i解除安裝
今天裝了oracle 9i,後來重灌遇到問題因為解除安裝未乾淨。幾經周折終於成功,現將解除安裝步驟供以後參考 1 停止服務 開啟 服務 然後停止所有oracle服務 2 刪除程式 3 刪除登錄檔中的所有關於oracle項 1 在hkey local machine software下,刪除oracl...