1

我正在执行以下选择语句。

SELECT * FROM MY_TABLE WHERE 0=0 and CONTAINS(address, '%SAMPLE%&%TEXT%')>0;

我在地址列上创建了以下索引。

CREATE INDEX MY_TABLE_ADDRESS ON "MY_TABLE" ("ADDRESS");
CREATE INDEX MY_TABLE_ADDRESS_CTX ON "MY_TABLE" ("ADDRESS") INDEXTYPE IS "CTXSYS"."CONTEXT" PARAMETERS ('STOPLIST CTXSYS.EMPTY_STOPLIST');

选择语句有一天会起作用。但是第二天它不会返回结果。

我必须删除MY_TABLE_ADDRESS_CTX索引并再次运行它才能成功返回结果。

我还尝试将索引定义更改为

CREATE INDEX MY_TABLE_ADDRESS_CTX ON "MY_TABLE" ("ADDRESS") INDEXTYPE IS "CTXSYS"."CONTEXT";

但这在第二天也失败了。我不得不重新运行索引。

知道为什么会这样吗?如何解决此问题以使搜索始终有效?

4

0 回答 0