Index Table DR$<Index_Name>$I Contains Stopwords (Doc ID 1226074.1)

Last updated on FEBRUARY 05, 2014

Applies to:

Oracle Text - Version 10.2.0.1 to 12.1.0.1 [Release 10.2 to 12.1]
Information in this document applies to any platform.

Symptoms

After creating a Text index of CONTEXT or CTXCAT indextype with composite word indexing enabled or with word stemming enabled the Text index table, $I-table, contains words that are defined as stop words in the stoplist object.

Example

BEGIN
ctx_ddl.create_stoplist('MY_STOPLIST','BASIC_STOPLIST');
ctx_ddl.add_stopword('MY_STOPLIST','sat');
END;
/

BEGIN
ctx_ddl.create_preference('MY_LEXER','BASIC_LEXER');
ctx_ddl.set_attribute('MY_LEXER','INDEX_STEMS','ENGLISH');
END;
/

create table test (id number primary key, text varchar2(40));
insert into test values ( 1, 'the cat sat on the mat');
commit;

create index testx on test(text) indextype is ctxsys.context
PARAMETERS('LEXER MY_LEXER STOPLIST MY_STOPLIST');

select token_text, token_type from dr$testx$i;

TOKEN_TEXT        TOKEN_TYPE
----------------- ----------
CAT                        0
MAT                        0
ON                         0
ONTARIO                    9
SATURDAY                   9
SIT                        9   -- << "sit" is the stemmed form of stop word "sat"
THE                        0

7 rows selected.



Problem exists with BASIC_LEXER and AUTO_LEXER.

Cause

Sign In with your My Oracle Support account

Don't have a My Oracle Support account? Click to get started

My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms