Вчера мы пытались настроить работу между Sphinx и MSsql, начали возникать непонятки)
Версия ПО: Sphinx 0.9.9-rc2
ОС: Windows 2003 Server Standard Edition x86 SP2
БД: MSSQL Server 2008 Enterprise x86 SP1
У используемой базы Collation — Cyrillic_General_CI_AS
С основными настройками и с запуском самого сервиса проблем не возникло.
Настройки:
— в родительском «source» использовали «type = odbc», соответственно указали в «odbc_dsn» connectionstring, а также «mssql_unicode = 1».
— в наследниках основного «source» указаны соответствующие «sql_query», «sql_query_range», «sql_range_step», с этим все понятно.
— родительский индекс содержит следущее: «docinfo = extern», «mlock = 0», «morphology = stem_enru», «charset_type = utf-8» и «html_strip = 0».
— наследники содержут свои «source» и «path».
Процесс indexer использует настройки по умолчанию. Процесс
searchd использует также настройки по умолчанию с исправленными путями.
Проблема заключается в том что процесс индексации на определенных таблицах глохнет на n-ой строчке, при этом остальные таблицы индексируются нормально.
Пробовал «методом тыка» исключать поочередно поля из списка индексируемых полей. Таким образом нашел поле, которое не может быть индексированно с типом «varchar(MAX)» с Collation-ом «database default».
Также пробовал вместо самого поля использовать substring этого поля, дошел до значения, которое позволило закончить процесс индексации. Но этот вариант нам не подходит.
Поле хранит текст с html кусками, не исключены также другие специальные символы.
Процесс indexer заканчивается с ошибкой, открывая «Event Viewer» раздел «Application» обнаруживаем:
Event Type: Error
Event Source: Application Error
Event Category: (100)
Event ID: 1000
Date: 5/28/2009
Time: 12:50:10 PM
User: N/A
Computer: DEV
Description:
Faulting application indexer.exe, version 0.0.0.0, faulting module indexer.exe, version 0.0.0.0, fault address 0x0001413f.
For more information, see Help and Support Center at go.microsoft.com/fwlink/events.asp
Data:
0000: 41 70 70 6c 69 63 61 74 Applicat
0008: 69 6f 6e 20 46 61 69 6c ion Fail
0010: 75 72 65 20 20 69 6e 64 ure ind
0018: 65 78 65 72 2e 65 78 65 exer.exe
0020: 20 30 2e 30 2e 30 2e 30 0.0.0.0
0028: 20 69 6e 20 69 6e 64 65 in inde
0030: 78 65 72 2e 65 78 65 20 xer.exe
0038: 30 2e 30 2e 30 2e 30 20 0.0.0.0
0040: 61 74 20 6f 66 66 73 65 at offse
0048: 74 20 30 30 30 31 34 31 t 000141
0050: 33 66 3f
А на компьютере имеюший «Visual Studio 2008» включая debug, ошибка указана на строчке:
0041413F mov byte ptr [eax+ecx],0
Предполагаем что поле содержит нечитаемые символы.
Просим Вас помочь с советом как выявить и как устранить описанную проблему.
Заранее благодарен.
Версия ПО: Sphinx 0.9.9-rc2
ОС: Windows 2003 Server Standard Edition x86 SP2
БД: MSSQL Server 2008 Enterprise x86 SP1
У используемой базы Collation — Cyrillic_General_CI_AS
С основными настройками и с запуском самого сервиса проблем не возникло.
Настройки:
— в родительском «source» использовали «type = odbc», соответственно указали в «odbc_dsn» connectionstring, а также «mssql_unicode = 1».
— в наследниках основного «source» указаны соответствующие «sql_query», «sql_query_range», «sql_range_step», с этим все понятно.
— родительский индекс содержит следущее: «docinfo = extern», «mlock = 0», «morphology = stem_enru», «charset_type = utf-8» и «html_strip = 0».
— наследники содержут свои «source» и «path».
Процесс indexer использует настройки по умолчанию. Процесс
searchd использует также настройки по умолчанию с исправленными путями.
Проблема заключается в том что процесс индексации на определенных таблицах глохнет на n-ой строчке, при этом остальные таблицы индексируются нормально.
Пробовал «методом тыка» исключать поочередно поля из списка индексируемых полей. Таким образом нашел поле, которое не может быть индексированно с типом «varchar(MAX)» с Collation-ом «database default».
Также пробовал вместо самого поля использовать substring этого поля, дошел до значения, которое позволило закончить процесс индексации. Но этот вариант нам не подходит.
Поле хранит текст с html кусками, не исключены также другие специальные символы.
Процесс indexer заканчивается с ошибкой, открывая «Event Viewer» раздел «Application» обнаруживаем:
Event Type: Error
Event Source: Application Error
Event Category: (100)
Event ID: 1000
Date: 5/28/2009
Time: 12:50:10 PM
User: N/A
Computer: DEV
Description:
Faulting application indexer.exe, version 0.0.0.0, faulting module indexer.exe, version 0.0.0.0, fault address 0x0001413f.
For more information, see Help and Support Center at go.microsoft.com/fwlink/events.asp
Data:
0000: 41 70 70 6c 69 63 61 74 Applicat
0008: 69 6f 6e 20 46 61 69 6c ion Fail
0010: 75 72 65 20 20 69 6e 64 ure ind
0018: 65 78 65 72 2e 65 78 65 exer.exe
0020: 20 30 2e 30 2e 30 2e 30 0.0.0.0
0028: 20 69 6e 20 69 6e 64 65 in inde
0030: 78 65 72 2e 65 78 65 20 xer.exe
0038: 30 2e 30 2e 30 2e 30 20 0.0.0.0
0040: 61 74 20 6f 66 66 73 65 at offse
0048: 74 20 30 30 30 31 34 31 t 000141
0050: 33 66 3f
А на компьютере имеюший «Visual Studio 2008» включая debug, ошибка указана на строчке:
0041413F mov byte ptr [eax+ecx],0
Предполагаем что поле содержит нечитаемые символы.
Просим Вас помочь с советом как выявить и как устранить описанную проблему.
Заранее благодарен.