Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

Teks Oracle Berisi dan konten teknis

Pertama, Anda harus mendefinisikan tanda hubung sebagai printjoin di lexer Anda.

periksa dengan

select IXV_ATTRIBUTE, IXV_VALUE from CTXSYS.CTX_INDEX_VALUES where IXV_CLASS =  'LEXER';

IXV_ATTRIBUTE                  IXV_VALUE     
-----------------------------------------
PRINTJOINS                     _$%&-         
NUMJOIN                        .              
NUMGROUP                       .              
WHITESPACE                     ,= 

Kemudian Anda dapat (setelah membuat ulang indeks dengan lexer ini) memvalidasi bahwa token seperti yang diharapkan:(tabel Anda akan bervariasi berdasarkan nama indeks; centang semua tabel seperti 'DR$%$I')

select TOKEN_TEXT from DR$TEXTIDX_IDX$I where TOKEN_TEXT like '%-XYZ99';
TOKEN_TEXT                                                     
----------------------------------------------------------------
AN-XYZ99                                                         
BAR-XYZ99                                                        
FO-XYZ99

Sekarang Anda dapat meminta string pencarian.

Rupanya Anda harus keluar dari tanda hubung sebagai BAR-XYZ99 akan menemukan baris dengan BAR tidak berisi XYZ99; meskipun dokumentasi tanda hubung hyphen with no space sedikit berbeda.

SELECT SCORE(1),txt
FROM textidx
WHERE  CONTAINS(txt, 'BAR-XYZ99',1) > 0; 

  SCORE(1) TXT                                                                                
---------- ------------------------------------------------------------------------------------
         4 unbekannt Stadt Text: FO-XYZ99 << foobar Straße 31.12.2017 Datum Host 20160101 bar

Untuk beberapa alasan (saya menggunakan 11.2.0.2.0) melarikan diri dengan kurung kurawal tidak berfungsi (tidak menghasilkan kecocokan), tetapi menggunakan garis miring terbalik tidak masalah.

SELECT SCORE(1),txt
FROM textidx
WHERE  CONTAINS(txt, 'BAR\-XYZ99',1) > 0;  

  SCORE(1) TXT                                                                                
---------- ------------------------------------------------------------------------------------
         4 unbekannt Stadt Text: BAR-XYZ99 << foobar Straße 31.12.2017 Datum Host 20160101 bla 



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana cara terhubung di java sebagai SYS ke Oracle?

  2. Oracle SQL - Menggunakan gabungan untuk menemukan nilai dalam satu tabel, dan bukan yang lain

  3. Mendapatkan keluaran RefCursor dan VarChar dari Prosedur Tersimpan yang sama

  4. Bagaimana cara menambahkan batasan bukan nol pada kolom yang berisi nilai nol

  5. Pilih 150 baris pertama, lalu 150 berikutnya dan seterusnya?