Испанская основа в Oracle Text

Я пытаюсь создать индекс Oracle Text, чтобы выполнять запросы FTS к некоторым текстовым столбцам на испанском языке в базе данных. В соответствии с документами Oracle мне нужно создать LEXER и WORDLIST, чтобы включить стволовые и нечеткие запросы:

exec ctxsys.ctx_ddl.create_preference ('cust_lexer','BASIC_LEXER');
exec ctxsys.ctx_ddl.set_attribute ('cust_lexer','base_letter','YES');
exec ctxsys.ctx_ddl.set_attribute ('cust_lexer','index_stems','SPANISH');
exec ctxsys.ctx_ddl.create_preference('cust_wordlist','BASIC_WORDLIST');
exec ctxsys.ctx_ddl.set_attribute('cust_wordlist','stemmer','AUTO');
exec ctxsys.ctx_ddl.set_attribute('cust_wordlist','fuzzy_match','AUTO');

А затем создайте индекс, используя эти настройки:

CREATE INDEX NOMBREACCION_CTX ON ACCION(NOMBRE_ACCION) INDEXTYPE IS CTXSYS.CONTEXT parameters ('LEXER cust_lexer WORDLIST cust_wordlist');

Когда я запускаю запрос с использованием оператора стебля ($), я получаю следующую ошибку:

ORA-20000: Oracle Text error:
DRG-00100: internal error, arguments : [50935],[drpn.c],[1113],[],[]
DRG-00100: internal error, arguments : [50935],[drpnw.c],[651],[],[]
DRG-00100: internal error, arguments : [51002],[drwa.c],[597],[],[]
DRG-00100: internal error, arguments : [51029],[drwas.c],[498],[ACCION],[]
DRG-51023: stemmer file cannot be opened
20000. 00000 -  "%s"
*Cause:    The stored procedure 'raise_application_error'
           was called which causes this error to be generated.  
*Action:   Correct the problem as described in the error message or contact
           the application administrator or DBA for more information.

Согласно Oracle, функция основы документации должна работать для испанского языка: ://docs.oracle.com/cd/B28359_01/text.111/b28304/amultlng.htm#CCREF2294

Кроме того, эта функция не является недостающей в Oracle XE: http://docs.oracle.com/cd/E17781_01/doc.112/e21743/toc.htm#XERDM105

Если я меняю «ИСПАНСКИЙ» на «АНГЛИЙСКИЙ», все работает нормально. Кому-нибудь удалось настроить испанскую основу в Oracle Text?


person Gabriel Molina    schedule 14.07.2017    source источник


Ответы (1)


После некоторых исследований я обнаружил, что испанская основа работает нормально в полных установках Oracle. Для определения корней Oracle требуется словарь, которого нет в установках Oracle XE. Вместе с Oracle XE устанавливаются только английские и японские словари.

person Gabriel Molina    schedule 24.07.2017