powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / индексация русских текстов
11 сообщений из 11, страница 1 из 1
индексация русских текстов
    #35350550
Leron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вопрос по %Text.Russian

БД - Cache 2008.1.0.401.0 Unicode

Подскажите если кто работал с этим классом:
В описании класса написано, что он работает и с Unicode версией Cache.
Не индексируются файлы в кодировке utf-16, если ручками конвертировать файл utf16->cp1251, то файл индексируется.
Можно как-нибудь решить эту проблему ( индексировать файлы без перекодировки utf16->cp1251 )
...
Рейтинг: 0 / 0
индексация русских текстов
    #35350667
servit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У меня все работает.
Cache for Windows (x86-32) 2008.2 (Build 420U) Thu May 15 2008 12:46:24 EDT

Какая у Вас локаль по умолчанию и что стоит в "New Global Collation" у баз данных?
У меня своя локаль на основе rusw и у всех БД стоит "Cache standard".
...
Рейтинг: 0 / 0
индексация русских текстов
    #35350730
Alexey Maslov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Класс напрямую с файлами не работает и перекодировок не выполняет. В нем предполагается, что данные хранятся в кодировке, родной для вашей установки Каше, т.е. в Вашем случае - UTF-16.
Вы, наверное, воспользовались примером (morpho.mac):
Код: plaintext
1.
2.
3.
4.
5.
...
ftpar(file) ; read per paragraph (myMAXLEN max size) ; global bc
 n line1
 c file o file:("RK\CP1251\"): 0  e  q "0~not opened"
 ...
Исправьте "CP1251" на "RAW" или "UnicodeLittle" или что там у Вас :)
...
Рейтинг: 0 / 0
индексация русских текстов
    #35351280
Leron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
servit
У меня своя локаль на основе rusw и у всех БД стоит "Cache standard".
В "New Global Collation" стоит "Сyrilic1". Какие изменения Вы внесли в новую локаль?

Alexey Maslov
Пробовал ставить вместо CP1251 Unicode (когда загружал юникодный файл), индекс все равно не создается.
...
Рейтинг: 0 / 0
индексация русских текстов
    #35351338
servit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У меня в локали изменения касаются только поддержки молдавского языка и поддержки unicode для формирования XML ClientDataSet в Delphi, все остальное - как в rusw.

Если просто посмотреть загруженный текст в таблице, он нормально отображается (чтобы отмести ошибки конвертации при чтении файла)?

PS: и, если можно, приложите небольшой файл с данными, с которыми проблема.
...
Рейтинг: 0 / 0
индексация русских текстов
    #35351664
Alexey Maslov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LeronПробовал ставить вместо CP1251 UnicodeТакой таблицы нет. В локали RUS8 есть UnicodeLittle, UnicodeBig, UTF8. Но я бы начал с RAW (если на входе файл с Виндовым юникодом):
Код: plaintext
... o file:("RK\RAW\") ...
И, как Вам посоветовал Servit, проконтролировал бы для начала чтение файла (в глобал бы его прочел и вывел этот глобал на терминал/просмотрел в Портале, например).
...
Рейтинг: 0 / 0
индексация русских текстов
    #35354820
Leron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Нашел ошибку: после перехода БД на юникод забыл поменять в коде программы (написана на с++) вызовы CachePushStr (с помощью ее я передаю в каше текст для индексации) на CachePushStrW.

Alexey Maslov
В моей каше стоит локаль rusw.
В том примере morpho.mac пробовал как Вы сказали менять на RAW :
Код: plaintext
... o file:("RK\RAW\") ...
в терминале считанный текст отображается корректно только когда ставлю вместо RAW Unicode .

Спасибо за помощь!
...
Рейтинг: 0 / 0
индексация русских текстов
    #35354859
Leron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А можно как нибудь в каше не хранить текст, который индексируется, т.е. самому ручками создавать индекс, работая напрямую с глобалами. У меня не получилось, не хочет искать по такому индексу. В Портале в плане запроса поиска по тексту увидел, что зачем то происходит опреация %SQLUPPER(MyText) (точно план запроса не помню), зачем ему нужен мой текст, ведь поиск идет только по индексу.
...
Рейтинг: 0 / 0
индексация русских текстов
    #35356106
Alexey Maslov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Насколько я помню, хранимый текст приводится к %SQLUPPER, если используется предикат %CONTAINS. По-возможности надо стараться использовать %CONTAINSTERM, об этом даже сказано в 1readme.htm. LeronА можно как нибудь в каше не хранить текст, который индексируется, т.е. самому ручками создавать индекс, работая напрямую с глобалами.Не совсем понятно, чего Вы хотите. Примерчик (упрощенный) привели бы...
...
Рейтинг: 0 / 0
индексация русских текстов
    #35359503
Leron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Пример:

Код: plaintext
1.
2.
3.
4.
5.
6.
s text="текст, который нужно проиндексировать"
k varr do ##class(%Text.Russian).BuildValueArray(text,.varr)			
s word = $o(varr(""))
while word '= "" {
  s $bit(^BAG.RussianTextI("TextIndex",$zu( 28 ,word, 7 , 32768 ),pidchunk),pidoffset)= 1 
  s word = $o(varr(word))
}
сгенерироваля индекс, теперь нам текст не нужен, но нужно, чтобы работал поиск по словам.
...
Рейтинг: 0 / 0
индексация русских текстов
    #35359647
Alexey Maslov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вроде понял, но не уверен. Вы хотели бы хранить только индекс, не храня сам текст? Но ведь индекс (устроенный по типу битмаповского) ориентирован на стандартное хранение Cache, которое не предусматривает хранения данных в битмаповских индексах. Поэтому поиск через SQL у вас не пойдет. Но ничто не мешает реализовать его на прямом доступе.
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / индексация русских текстов
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]