На главную О компании Продукты Технологии Публикации Партнерам in English: in English
На главную

   Помощь
Главная
Продукты
Общий форум для всех продуктов

RCO Law Reference Extractor SDK











Расширения стандартных решений
RCO for Oracle: поиск на русском языке
RCO for BackOffice: поиск на русском языке



Инструментарий разработчика
RCO Fact Extractor SDK
RCO Text Categorization Engine
RCO Address Parser
RCO Database Record Cleaner
RCO Morphology SDK
RCO Morphology Professional SDK
RCO Information Extraction Service



Приложения RCO Fact Extractor SDK
RCO Deduplicator SDK
RCO TopExtractor SDK
RCO Glossary Maker SDK
RCO Block Parser SDK
RCO Law Reference Extractor SDK



Инструментарий аналитика
RCO Fact Extractor Desktop
RCO Zoom



Архив продуктов (более не поддерживаются)
RCO Syntactic Engine SDK
RCO Semantic Network SDK
RCO Pattern Extractor SDK
RCO Entity Extractor SDK




Форум

Titan

 17.09.04, 15:12
Синхронизация (обновление) индекса Oracle Text
Здраствуйте...
Очевидно, что после добавления писем в базу, нужно обновлять поисковый индекс, чтобы новые документы были в него включены...
Вопрос: Подскажите, как это лучше сделать, когда в день количество добавляемых писем может достигать 3000 ?

Спасибо....
Ответить

Titan

 05.10.04, 15:45
проблема с sync_index в Oracle Text
Здравсвуйте.

Я уже стал постоянным вашим клиентом на форуме. Не смотря на то, что интернет большой , квалифицированный ответ по Oracle Text похоже можно получить только у вас.
У меня такая проблема: Создан пользователь, создан индекс context. Чтобы обновлять индекс я создаю задание с помощью DBMS_JOB, которое должно запускать процедуру ctx_ddl.sync_index.

когда я выплняю запуск задания командой DBMS_JOB.RUN(41); (41 - номер) , то в alert....log пишется след ошибка:
ORA-12012: ошибка при автоисполнении задания 41
ORA-20000: Ошибка Oracle Text:
DRG-10502: индекс SEARCHEMAILS не существует
ORA-06512: на "CTXSYS.DRUE", line 157
ORA-06512: на "CTXSYS.CTX_DDL", line 1328
ORA-06512: на line 1

хотя индекс для данного пользователя существует...
Прошу помочь в сложившейся ситуации, так как ничего не получается.

Спасибо.
Ответить

A.Dmitrovsky

 05.10.04, 15:59
re: проблема с sync_index в Oracle Text
Добрый день!

Проверьте, из-под какого пользователя работает job.
Желательно, чтобы это был ВЛАДЕЛЕЦ индекса.
В любом случае, рекомендуется квалифицировать имя индекса именем владельца:
owner.index_name
Ответить

Titan

 05.10.04, 16:20
re: re: проблема с sync_index в Oracle Text
Хм... получаю довольно странное сообщение:

ORA-12012: ошибка при автоисполнении задания 43
ORA-20000: Ошибка Oracle Text:
DRG-10017: Вы должны быть CTXSYS or BASE_USER чтбы выполнить это: SYNC
ORA-06512: на "CTXSYS.DRUE", line 157
ORA-06512: на "CTXSYS.CTX_DDL", line 1328
ORA-06512: на line 1

В то время как все делается из под пользователя BASE_USER... :-(
Ответить

A.Dmitrovsky

 05.10.04, 16:40
re: re: re: проблема с sync_index в Oracle Text
Какой текст job'а?
Ответить

Titan

 05.10.04, 17:01
re: re: re: re: проблема с sync_index в Oracle Text
Job создаю след. образом:
set serveroutput on
declare
job number;
begin
dbms_job.submit job, 'ctx_ddl.sync_index(''base_user.searchemails'');',SYSDATE,'sysdate + 1/768');
commit;
dbms_output.put_line('job '||job||' has been submitted.');
end;

и потом

exec DBMS_JOB.RUN(43);
в скобках номер job-а
Ответить

A.Dmitrovsky

 05.10.04, 17:05
re: re: re: re: re: проблема с sync_index в Oracle Text
Что даёт:
connect base_user

select log_user,priv_user,schema_user from user_jobs where job=43;
Ответить

Titan

 05.10.04, 17:20
re: re: re: re: re: re: проблема с sync_index в Oracle Text
select log_user,priv_user,schema_user from user_jobs where job=43;

возвращает:

LOG_USER PRIV_USER SCHEMA_USER
----------------------------------
BASE_USER BASE_USER BASE_USER

Ответить

A.Dmitrovsky

 05.10.04, 17:46
re: re: re: re: re: re: re: проблема с sync_index в Oracle Text
Рекомендую дать явный grant на execute on ctx_ddl от ctxsys to base_user
Ответить

Titan

 05.10.04, 17:59
re: re: re: re: re: re: re: re: проблема с sync_index в Oracle Text
это я уже делал...
никакого толку...
Как то мрачно все это. Так все хорошо шло с Oracle Text и тут такая ерунда, хотя в самом Оракле в примере именно так и написано в drjobdml.sql ...
не приятный факт... Как теперь индекс поддерживать не понятно :-(
Ответить

A.Dmitrovsky

 05.10.04, 18:02
re: re: re: re: re: re: re: re: re: проблема с sync_index в Oracle Text
Ещё один вариант - "обернуть" sync_index в процедуру и уже её вызывать из job'а.
Ответить

Titan

 05.10.04, 18:12
re: re: re: re: re: re: re: re: re: re: проблема с sync_index в Oracle Text
Пожалуй я так и попробую сделать, но мне кажется , что эффект будет тот же.
Знаете, я вот только что законектился как CTXSYS и все эти операции проделал под ним .
Все те же ошибки... Главное, что в списке индексов индекс присутствует, а он говорит, что его нет.
Мне кажется , что тут с какими то правами не все в порядке...
Ответить

A.Dmitrovsky

 05.10.04, 18:20
re: re: re: re: re: re: re: re: re: re: re: проблема с sync_index в Oracle Text
До сих пор с подобного рода проблемами не сталкивались - любой, имеющий роль CTXAPP, sync выполняет.
Кстати, непосредственно (не из job'а) sync проходит?
Ответить

Titan

 05.10.04, 18:42
re: re: re: re: re: re: re: re: re: re: re: re: проблема с sync_index в Oracle Text
да...
если просто запустить sync , то выполняется без проблем...
Ответить

Titan

 06.10.04, 14:48
re: re: re: re: re: re: re: re: re: re: re: re: re: проблема с sync_index в Oracle Text
Все заработало !!! Просто супер..Столько мучений и все наконец работает..
Хочу сказать Вам большое спасибо. Ваши рекомендации позволили успешно все завершить.

Ответить
Новое сообщение






Контакты

тел./факс: +7 495 287-9887    e-mail: info@rco.ru