我在一列上有ctxsys.context索引。当我执行以下查询时,我给出了DRG-10599: column is not indexed
错误。我检查索引并更新它。
查询:
SELECT s.dsa_id FROM service_search s
WHERE CONTAINS(s.fld_search, 'someData') >0
索引ddl:
CREATE INDEX "ARCHIVE_SER"."IDX_SEARCH_CTX" ON
"ARCHIVE_SER"."service_search" ('FLD_SEARCH')
INDEXTYPE IS "CTXSYS"."CONTEXT" PARAMETERS ('SYNC ( ON COMMIT)')
答案 0 :(得分:0)
您的索引DDL中有拼写错误,因此它不应该有效。 ('FLD_SEARCH')
列使用单引号,这使其成为VARCHAR而不是标识符。如果您没有使用这么多的双引号,可能会更容易发现这样的错误。 :)
这对我来说很好。
create table service_search (fld_search varchar2(4000));
CREATE INDEX IDX_SEARCH_CTX ON service_search (FLD_SEARCH)
INDEXTYPE IS CTXSYS.CONTEXT PARAMETERS ('SYNC ( ON COMMIT)');
select * from service_search s where contains(s.fld_search, 'someData') > 0;