Sonunda bir kelimenin hangi dökümanın neresinde bulunduğunu gösteren fonksiyonu buldum. Kendim uğraşsam yazmaya bu kadar zaman almazdı belki ya buna da şükür.
select ctx_report.token_info('temp_text_idx','engineering',0) from dual;
Örnek çıktıdan bir parça:
CTX_REPORT.TOKEN_INFO('TEMP_TEXT_IDX','ENGINEERING',0)
-----------------------------------------------------========================================================
TOKEN INFO FOR ENGINEERING (0:TEXT)
========================================================
index: "NSTC"."TEMP_TEXT_IDX"
base table: "NSTC"."DOC_TABLE"
$I table: "NSTC"."DR$TEMP_TEXT_IDX$I"
-----------------------------------------------------
ROW 1 ($I ROWID AAAKp/AAJAACCmYAAR)
-----------------------------------------------------
DOCID COUNT: 20 FIRST: 1 LAST: 67
DOCID: 1 (AAAKp1AAJAABDRIAAP) BYTE: 1 LENGTH: 4 FREQ: 2
AT POSITIONS: 52 156
DOCID: 3 (AAAKp1AAJAABDRGAAB) BYTE: 5 LENGTH: 4 FREQ: 1
AT POSITIONS: 156
TOKEN STATISTICS
========================================================
Total $I rows: 1
Total docids: 20
Total occurrences: 48
Total token_info size: 106
Total garbage size: 0 (0%)
Optimal $I rows: 1
Row fragmentation: 0%
Aynı işlemi bir program içinde de yapabilmenizi sağlayan procedure var. Parametrelerden 0 TOKEN_TYPE_TEXT sabit değerine karşılık geliyor ki sıradan bir kelimeyi temsil ediyor. Diğer sabitler için Oracle Text Reference içinde TOKEN_TYPE kısmına bak.
Salı, Mart 01, 2005
Kaydol:
Kayıt Yorumları (Atom)
1 yorum:
ctx_report paketinin hem fonksiyon hem de prosedür olarak kullanımı mümkün.
Yorum Gönder