oracle test全文檢索技術的首次應用

2021-09-01 09:38:16 字數 807 閱讀 9465

對乙個老專案進行改造,資料庫用的是jdbc+strus1,其中乙個表中的老資料將近1w條,內容存在clob中,文字幾乎都是上千,做了乙個全文模糊查詢,第乙個感覺是必須用lucene這個專業的搜尋引擎技術來弄,後來經理說不必那麼麻煩了,直接在資料庫查查就行了,然後我用了

select xxoo from t_xxoo where xxoo like '%xxoo%'
,結果就悲劇了,幾乎每次查詢都讓我等個至少十幾秒,起初以為
create index idx_xxoo on t_xxoo(xxoo);
然後就可以了,但是結果你會發現,完全的模糊查詢效果並不明顯。後來發現「oracle text譯為全文檢索技術,是智慧型資訊管理的關鍵技術之一,oracle text作為oracle9i的乙個元件,提供了強大的全文檢索功能,用oracle9i做後台資料庫,就可以充分利用其全文檢索技術,構建複雜的大型文件管理系統....」,於是果斷使用oracle自帶的全文檢索技術,

先建索引:

create index content_idx on t_km_articlecontent(content) indextype is ctxsys.context;

查詢的sql:

select xxoo from t_xxoo t2 where contains(t2.content,'要查詢的關鍵字')>0

注意,contains方法只有建立了 indextype is ctxsys.context才有效的。

最後執行程式,測試結果證明效果非常明顯.

什麼叫全文檢索 全文檢索概念

全文檢索是指計算機索引程式通過掃瞄文章中的每乙個詞,對每乙個詞建立乙個索引,指明該詞在文章中出現的次數和位置,當使用者查詢時,檢索程式就根據事先建立的索引進行查詢,並將查詢的結果反饋給使用者的檢索方式。這個過程類似於通過字典中的檢索字表查字的過程。全文檢索的方法主要分為按字檢索和按詞檢索兩種。按字檢...

什麼叫全文檢索 全文檢索概念

全文檢索是指計算機索引程式通過掃瞄文章中的每乙個詞,對每乙個詞建立乙個索引,指明該詞在文章中出現的次數和位置,當使用者查詢時,檢索程式就根據事先建立的索引進行查詢,並將查詢的結果反饋給使用者的檢索方式。這個過程類似於通過字典中的檢索字表查字的過程。全文檢索的方法主要分為按字檢索和按詞檢索兩種。按字檢...

MSSQL全文檢索

大家可能都會用 select from tb where field like 關鍵字 但是一旦資料量大使用者多,就會造成查詢過慢,因此ms提供一種犧牲空間來換取時間的解決方案。全文檢索。原文請看 我對自己的實現加了些注釋 use popask 使用這個庫 exec sp fulltext data...