Blz ? Só posso supor algum BUG na sua versão, OU (também possível) algum erro de procedimento seu (por exemplo, índice não atualizado depois dos últimos DMLs, algo no estilo) - veja meu exemplo, num Oracle XE 18c :
=> primeiro dou os privs necessários pro SCOTT, que é quem vai criar tanto o índice quanto o léxico : SYSTEM@xepdb1::CONTAINER=XEPDB1> grant ctxapp to SCOTT; Concesso bem-sucedida. SYSTEM@xepdb1::CONTAINER=XEPDB1> GRANT EXECUTE ON CTXSYS.CTX_DDL to scott; Concesso bem-sucedida. SYSTEM@xepdb1::CONTAINER=XEPDB1> ==> Ok, agora crio a tabela E o índice : SCOTT@xepdb1::CONTAINER=XEPDB1> create table LIVRO (LIV_TITULO varchar2(500), LIV_TEXTO CLOB); Tabela criada. SCOTT@xepdb1::CONTAINER=XEPDB1> insert into LIVRO (LIV_TITULO) values('Como nasce o Direito'); 1 linha criada. SCOTT@xepdb1::CONTAINER=XEPDB1> insert into LIVRO (LIV_TITULO) values('Direito como Ciencia'); 1 linha criada. SCOTT@xepdb1::CONTAINER=XEPDB1> insert into LIVRO (LIV_TITULO) values('Matematica Aplicada'); 1 linha criada. SCOTT@xepdb1::CONTAINER=XEPDB1> l 1 BEGIN 2 CTX_DDL.CREATE_PREFERENCE ('MIXED_CASE_LEXER_PREF','BASIC_LEXER'); 3 CTX_DDL.SET_ATTRIBUTE ('MIXED_CASE_LEXER_PREF', 'mixed_case', 'FALSE'); 4 CTX_DDL.SET_ATTRIBUTE ('MIXED_CASE_LEXER_PREF', 'base_letter', 'TRUE'); 5* END; SCOTT@xepdb1::CONTAINER=XEPDB1> / Procedimento PL/SQL concludo com sucesso. SCOTT@xepdb1::CONTAINER=XEPDB1> CREATE INDEX IDX_SEARCH_LIV_TITULO ON LIVRO (LIV_TITULO) INDEXTYPE IS 2* "CTXSYS"."CONTEXT" PARAMETERS ('LEXER MIXED_CASE_LEXER_PREF'); SCOTT@xepdb1::CONTAINER=XEPDB1> / Índice criado. SCOTT@xepdb1::CONTAINER=XEPDB1> select * from LIVRO where CONTAINS(LIV_TITULO,'direito',1) > 0; LIV_TITULO LIV_TEXTO ----------------------- ---------- Como nasce o Direito Direito como Ciencia 2 linhas selecionadas. SCOTT@xepdb1::CONTAINER=XEPDB1>