Alexey |
27.10.04, 18:08 |
|
работа с Unicode полями |
|
В базе, в полях CLOB содержится текст на разных языках (английский, французский и русский). Кодировка базы AL32UTF8. Поиск на английском и французском языках реальзован внутри сервера (судя по информации Оракла). 1. Будет ли работать поиск с полями в unicode кодировке? 2. Можно ли выполнять поиск по таблице где лежат данные на разных языках и будет ли он корректным? Т.е. чтобы полнотекстовый поиск на английском и французском языках выполнялся с помощью внутрених возможностей сервера а на русском с помощью вашей системы? |
|
|
Сергей Бирюков |
29.10.04, 12:45 |
|
re: работа с Unicode полями |
|
1. Версия RCO 4.01 работает пока только с UTF8. Кодировка БД должна быть именно UTF8. 2. Да можно(MULTI_LEXER). |
|
|
Alexey |
30.10.04, 21:22 |
|
re: re: работа с Unicode полями |
|
Скачал демо версию с вашего сайта и попытался прикрутить к Ораклу (версия 9.2). Делал по инструкции rco401_nt_setup.doc. В тестовую таблицу вставил несколько записей. Потом проиндексировал столбец с текстом (утилитой settings). Оракл ошибки не выдал, но в каталоге log появились несколько (по числу строк в таблице) файлов rco_filter_***.err и один rco_lsnr_***.err. В rco_lsnr_***.err: WARNING:15:38:14 29.10.04 LsnrRun: number of started executors reached the upper limit WARNING:15:38:14 29.10.04 LsnrRun: number of started executors reached the upper limit В rco_filter_***.err: WARNING:15:38:15 29.10.04 RequestRelay: request failed, cant spawn executor process or allocate shared memory (see rco_lsnr log file) ERROR: 15:38:15 29.10.04 RCO_Filter: failed to relay the FILTER request to the lsnr: RequestRelay: request failed, cant spawn executor process or allocate shared memory (see rco_lsnr log file)
Никак не могу понять что я сделал не так или что не сделал?
|
|
|
А. Дмитровский, dmitrov@metric.ru |
31.10.04, 10:59 |
|
re: re: re: работа с Unicode полями |
|
Добрый день, Алексей!
Из приводимой Вами ошибки видно, что количество стартованных процессов-обработчиков достигло заданного предела. Этот предел задаётся в файле $RCO_HOME/config/rco_lsnr.cfg - RCO_MAX_EXECS_START. Такая ситуация возникает обычно при невозможности работы процессов-обработчиков. Например, неверно задан пароль присоединения к БД. По умолчанию это: USERNAME = ctxsys PASSWORD = ctxsys SERVICE_NAME = |
|
|
Alexey |
02.11.04, 13:38 |
|
re: re: re: re: работа с Unicode полями |
|
Добрый день!
Спасибо за ответ, но, к сожалению, проблема не исчезла. Файлы конфигурации я старался не менять. Вот содержимое файла rco_lsnr.cfg: RCO_TRACE_LEVEL = MIDDLE RCO_MAX_SEGS = 5 RCO_SEG_SIZE = 65536 RCO_BUFF_SIZE = 512 RCO_MAX_EXECS = 4 RCO_MAX_EXECS_START = 4 RCO_MAX_SETTINGS = 2 RCO_MAX_EXECS_PER_SET = 2 RCO_MAX_CLIENTS = 10 USERNAME = ctxsys PASSWORD = ctxsys SERVICE_NAME = Коннект из sqlplus (ctxsys/ctxsys) проходит. Оракл никаких ошибок не возвращает. Так, например, перестройка индекса: alter index rco4 rebuild; проходит без ошибок, но в каталоге с лог-файлами появляются файлы с ошибками, о которых я писал выше. Запрос: select id, text from text where comtains(text, 'август',1)>0 не выдает ни одной строки, хотя такое слово там есть. Может быть есть способ проверить правильность настройки системы (как вне оракла, так и совместно)? Может быть что-то еще должно быть сконфигурировано?
|
|
|
А. Дмитровский, dmitrov@metric.ru |
02.11.04, 14:03 |
|
re: re: re: re: re: работа с Unicode полями |
|
Алексей! Ошибки индексирования надо смотреть в CTXSYS.CTX_USER_INDEX_ERRORS. Попробуйте в первую очередь перезапустить сервис rco_lsnr. Это можно сделать из утилиты управления сервисами NT. Корректно остановить работающий сервис rco_lsnr можно также из sqlplus: SQL> exec rco_context.stoplist Последний метод служит хорошим тестом правильной конфигурации вызова внешних процедур Oracle. Далее: SQL> alter index ... rebuild; и проверяем отсутствие ошибок индексации (CTX_USER_INDEX_ERRORS, *.err files).
|
|
|
Alexey |
02.11.04, 14:19 |
|
re: re: re: re: re: re: работа с Unicode полями |
|
Сделал как Вы посоветовали и вот что получилось: SQL> exec rco_context.stoplist BEGIN rco_context.stoplist; END;
* ERROR at line 1: ORA-28595: Extproc agent : Invalid DLL Path ORA-06512: at "CTXSYS.RCO_CONTEXT", line 15 ORA-06512: at "CTXSYS.RCO_CONTEXT", line 245 ORA-06512: at line 1
Такая же ошибка вылезает при выполнении создании настройки из программы settings.
|
|
|
А. Дмитровский, dmitrov@metric.ru |
02.11.04, 14:48 |
|
re: re: re: re: re: re: re: работа с Unicode полями |
|
Посмотрите сообщение от 10.06.04, 16:37, ошибка в RCO settings. Там рассмотрена такая же ошибка. |
|
|