Oracle ctxsys.context DRG-10599列未编入索引

时间:2017-09-18 16:02:45

标签: oracle indexing

我在一列上有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)')

1 个答案:

答案 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;