Очень нужна ваша помощь по ORACLE TEXT

student42
Дата: 25.11.2009 21:29:28
То что есть:
CREATE TABLE ProbaPera ( field1 BLOB);
BEGIN
  ctx_ddl.create_preference('cs_CL8MSWIN1251', 'CHARSET_FILTER');
  ctx_ddl.set_attribute('cs_CL8MSWIN1251', 'charset', 'CL8MSWIN1251');
END;
/
CREATE INDEX ProbaPera_idx
       ON ProbaPera(field1)
       INDEXTYPE IS ctxsys.context
       parameters ('filter cs_CL8MSWIN1251');

Заливаем в поле FIELD1 документ "Test.doc (MS Office 2003)" с следующим содержимым: "вася дима олег"
Далее пробуем найти:
Select *
  from ProbaPera t
where CONTAINS(t.field1,'вася',1)>0
0 rows

Select *
  from ProbaPera t
where CONTAINS(t.field1,'дима',1)>0
1 rows

Select *
  from ProbaPera t
where CONTAINS(t.field1,'олег',1)>0
1 rows

Подскажите почему получается так что именно по слову "дима" он находит. А другие нет?
suPPLer
Дата: 25.11.2009 21:50:17
student42,

а индекс Вы после заливки синхронизировали?
student42
Дата: 25.11.2009 21:54:53
suPPLer
student42,

а индекс Вы после заливки синхронизировали?


забыл сказать в параметре еще указываю parameters ('filter cs_CL8MSWIN1251 sync (on commit)');
student42
Дата: 26.11.2009 11:06:21
student42,
проблема решена.

возникла в ледствии того что данные в поле(BLOB) были залиты не правильно в следствии чего Oracle не смогправильн проиндексировать.