oracle全文索引之配置全文檢索環境
一、----------------- 安裝全文檢索元件---------------------
1、建立ctxsys使用者需要的表空間(如果需要用已存在的表空間,這一步可以忽略)
以sys使用者執行
SQL> create tablespace ts_text datafile 'E:ORACLEORADATAORACLE9Its_text01.dbf' size 100m;
Tablespace created
2、建立sysctx使用者
以sys使用者執行
SQL>@?ctxadmindr0csys
需要輸入輸入三個引數,分別設定ctxsys使用者的密碼、表空間名稱、臨時表空間名稱
SQL> @E:oracleora92ctxadmindr0csys
...creating user CTXSYS
...creating role CTXAPP
3、安裝全文檢索元件
以ctxsys使用者執行
SQL>@E:oracleora92ctxadmindr0inst
需要一個輸入引數:E:oracleora92ctxliblibctxx9.so
.......
... creating objects
Removing old object definitions...
Creating new object definitions...
...creating default preferences
Create default preferences
System Parameters
========================================================
4、設定一些必要的預設值
以ctxsys使用者執行
SQL>@E:oracleora92ctxadmindefaultsdrdefus> @E:oracleora92ctxadmindefaultsdrdefus
Creating lexer preference...
Creating wordlist preference...
Creating stoplist...
Creating default policy...
二、--------------使用全文檢索-----------------------------
1、授權
以sys登入
grant ctxapp to suk;
以ctxsys登入
grant execute on ctx_ddl to suk;
2、建立索引
以suk連線
exec ctx_ddl.create_preference('suk_lexer','CHINESE_LEXER');
--其中:第一個引數可以隨便命名,第二個引數必須是oracle規定的幾個值之一。
--第二個引數可以是CHINESE_LEXER、chinese_vgram_lexer;CHINESE_LEXER建索引時間長、但查詢速度、查詢準確度都比chinese_vgram_lexer高
--建立後可以用如下方式查詢:
select * FROM CTX_PREFERENCES;
create index idx_item_sku on item ( sku ) indextype is ctxsys.context parameters('lexer suk_lexer');
--parameters括號中都第一個值lexer是固定的,第二個值是上一步建立的preference名稱
--查詢資料
select SKU from ITEM
where ITEM_TYPE='p'
and contains(SKU,'理光')>0
and contains(SKU,'Caplio')>0
and contains(SKU,'R1v')>0;
3、定期同步索引(同步索引為增量同步)
--context這種型別的索引需要手工同步
SQL> create or replace procedure souchang_sync_index as
2 begin
3 ctx_ddl.sync_index('idx_item_sku');
4 end;
5 /
Procedure created.
Elapsed: 00:00:00.08
SQL> VARIABLE jobno number;
SQL> BEGIN
2 DBMS_JOB.SUBMIT(:jobno,'souchang_sync_index();',
3 SYSDATE, 'SYSDATE + (1/24/4)');
4 commit;
5 END;
6 /
PL/SQL procedure successfully completed.
Elapsed: 00:00:00.27
4、定期最佳化索引
SQL> create or replace procedure souchang_optimize_index as
2 begin
3 ctx_ddl.optimize_index('idx_item_sku','FULL');
4 end;
5 /
SQL> VARIABLE jobno number;
SQL> BEGIN
2 DBMS_JOB.SUBMIT(:jobno,'souchang_optimize_index();',
3 SYSDATE, 'SYSDATE + 1');
4 commit;
5 END;
6 /
Procedure created.
全文檢索的缺點是不能實時保證查詢的正確性,所以要合理地定期同步索引。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/231499/viewspace-63754/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 配置全文檢索
- Oracle:全文索引Oracle索引
- Oracle的全文索引Oracle索引
- oracle全文索引之commit與DML操作Oracle索引MIT
- oracle全文索引之幾個關鍵表Oracle索引
- oracle全文索引之如何實現查詢Oracle索引
- Oracle的全文檢索技術(轉)Oracle
- Homestead 環境下安裝 Elasticsearch 並使用 scout 進行全文檢索Elasticsearch
- oracle全文索引之同步和優化索引做了什麼Oracle索引優化
- 全文檢索庫 bluge
- Kibana 全文檢索操作
- 全文檢索的轉義
- solr全文檢索學習Solr
- 基於ElasticSearch實現商品的全文檢索檢索Elasticsearch
- openGauss每日一練(全文檢索)
- [Oracle] -- 配置Oracle環境變數Oracle變數
- php + MongoDB + Sphinx 實現全文檢索PHPMongoDB
- PostgreSQL全文檢索-詞頻統計SQL
- 全文檢索技術lucene的demo
- MySQL索引系列:全文索引MySql索引
- MySQL全文索引的使用MySql索引
- 一個線上全文索引BUG的排查:關於類阿拉件數字的分詞與檢索索引分詞
- springboot ElasticSearch 簡單的全文檢索高亮Spring BootElasticsearch
- 【IT老齊072】全文檢索執行原理
- 基於Lucene的全文檢索實踐
- ElasticSearch 實現分詞全文檢索 - 概述Elasticsearch分詞
- 配置環境之vscodeVSCode
- IM全文檢索技術專題(四):微信iOS端的最新全文檢索技術優化實踐iOS優化
- SQL Server 全文搜尋功能、全文索引方式介紹SQLServer索引
- Oracle環境配置之山路十八彎Oracle
- mysql中文全文索引的記錄MySql索引
- 【SqlServer】管理全文索引(FULL TEXT INDEX)SQLServer索引Index
- RMAN之環境配置(一)
- ElasticSearch 實現分詞全文檢索 - delete-by-queryElasticsearch分詞delete
- MySQL全文索引原始碼剖析之Insert語句執行過程MySql索引原始碼
- 個人部落格分享(Laravel + Vue 元件,支援全文檢索)LaravelVue元件
- Mysql 如何實現全文檢索,關鍵詞跑分MySql
- app自動化測試環境配置:adb環境配置、monkey環境配置、appium環境配置大全APP