Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

Nội dung kỹ thuật và văn bản Oracle

Trước tiên, bạn phải xác định dấu gạch nối là printjoin trong lexer của bạn.

kiểm tra nó với

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

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

Sau đó, bạn có thể (sau khi tạo lại chỉ mục bằng lexer này) xác thực rằng các mã thông báo là như mong đợi:(bảng của bạn sẽ thay đổi dựa trên tên chỉ mục; kiểm tra tất cả các bảng như 'DR $% $ I')

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

Bây giờ bạn có thể truy vấn chuỗi tìm kiếm.

Rõ ràng bạn phải thoát khỏi dấu gạch nối là BAR-XYZ99 sẽ tìm thấy các hàng có BAR không chứa XYZ99; mặc dù tài liệu về hyphen with no space hơi khác một chút.

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

Vì một số lý do (tôi đang sử dụng 11.2.0.2.0) việc thoát với dấu ngoặc nhọn không hoạt động (trả về không khớp), nhưng sử dụng dấu gạch chéo ngược là tốt.

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. Làm cách nào để đặt phiên bản SDE trong nguồn luồng dữ liệu SSIS

  2. Oracle:Tạo một khóa tổng hợp chứa ba khóa Foregin

  3. Cách gọi một thủ tục được lưu trữ trong JDBC

  4. Làm cách nào để tạo nhiều kết nối giản đồ bằng Java?

  5. PostgreSQL và / hoặc SQL Server thay thế cho SYS_CONTEXT của Oracle