sql >> Database teknologi >  >> RDS >> Oracle

Oracle Text Indeholder og teknisk indhold

Først skal du definere bindestreg som en printjoin i din lexer.

tjek det med

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

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

Så kan du (efter at have genskabt indeks med denne lexer) validere, at tokens er som forventet:(din tabel vil variere baseret på indeksnavnet; tjek alle tabeller som 'DR$%$I')

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

Nu kan du forespørge efter søgestrengen.

Tilsyneladende skal du undslippe bindestregen som BAR-XYZ99 vil finde rækker med BAR ikke indeholdende XYZ99; selvom dokumentationen af ​​hyphen with no space er lidt anderledes.

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

Af en eller anden grund (jeg er på 11.2.0.2.0) virker det at undslippe med krøllede seler ikke (returnerer ingen match), men det er fint at bruge omvendt skråstreg.

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. multiprocessing-modul og forskellige psycopg2-forbindelser

  2. Sådan kompileres yderligere kildefiler i cmake efter byggeprocessen

  3. Gør login mere sikkert

  4. Returner rækker i den nøjagtige rækkefølge, de blev indsat