On-line: гостей 0. Всего: 0 [подробнее..]
АвторСообщение



Пост N: 163
Зарегистрирован: 07.08.06
ссылка на сообщение  Отправлено: 12.06.13 15:26. Заголовок: ADS FTS: кто-нить юзает ? странное время выборки...


Всем привет.

Создал я, значит, FTS для таблицы клиентов (на clipper'e этого не сделать, пришлось через JDBC ваять).
И вот вижу: для некоторых (немногих) клиентов время выборки какое-то нереальное. Первую запись типа "ПАВЕЛ ВЕРЕС" находит быстро, но дальше - капец, ждать надо минуту-две, а то и три. Строки ввожу достаточной длины и в них нет "шумовых" слов.
В таблице более 500 тыс строк.

Где-то можно почитать про эти особенности FTS'a ? (доку читал, там нет объяснений этому эффекту)

PS. Большинство же записей ищется очень быстро, менее 5 сек

Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 6 [только новые]





Пост N: 164
Зарегистрирован: 07.08.06
ссылка на сообщение  Отправлено: 12.06.13 16:18. Заголовок: Поигрался еще с ним...


Поигрался еще с ним. Есть подозрение, что ему "тошно" от строк поиска, в которых одно из искомых слов встречается в таблице реже редкого (1-2 раза).

Например, если в таблице записано наименование покупателя: "ДЖАБЕР НАИФ ОГЛЫ" и поиск идёт по вхождению каждого из слов: *НАИФ* and *ДЖАБ" (или так: *ДЖАБ* and *НАИФ" - неважно), то FTS будет молотить... 86 сек. Ужоснах... :-/


Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 3225
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 12.06.13 16:25. Заголовок: SX_WILDSEEK поюзай ;..


SX_WILDSEEK поюзай ;)


Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 165
Зарегистрирован: 07.08.06
ссылка на сообщение  Отправлено: 12.06.13 16:30. Заголовок: Дык юзал, когда у мн..


Дык юзал, когда у мну не было ADS'a.
Но допустим, я буду открывать на чтение эту таблицу в другом алиасе.

Он же (sx_wild) будет через клиента прогонять все строки индекса, так ?

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 3226
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 12.06.13 16:31. Заголовок: Пробовать надо ..


Пробовать надо


Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 166
Зарегистрирован: 07.08.06
ссылка на сообщение  Отправлено: 12.06.13 18:13. Заголовок: у мну есть еще один ..


у мну есть еще один вариант: создать на АДС-сервере таблицу со структурой типа {source_name c 50, word c 30, key c 8}, в которую вгонять наименования клиентов таким вот способом:
source_name | word | key
---------------------------------------------------------------
ИВАНОВ АБРАМ МОИСЕЕВИЧ | ИВАНОВ | 01364187
ИВАНОВ АБРАМ МОИСЕЕВИЧ | ВАНОВ | 01364187
ИВАНОВ АБРАМ МОИСЕЕВИЧ | АНОВ | 01364187
ИВАНОВ АБРАМ МОИСЕЕВИЧ | НОВ | 01364187
ИВАНОВ АБРАМ МОИСЕЕВИЧ | ОВ | 01364187
ИВАНОВ АБРАМ МОИСЕЕВИЧ | АБРАМ | 01364187
ИВАНОВ АБРАМ МОИСЕЕВИЧ | БРАМ | 01364187
ИВАНОВ АБРАМ МОИСЕЕВИЧ | РАМ | 01364187
ИВАНОВ АБРАМ МОИСЕЕВИЧ | АМ | 01364187
ИВАНОВ АБРАМ МОИСЕЕВИЧ | МОИСЕЕВИЧ | 01364187
ИВАНОВ АБРАМ МОИСЕЕВИЧ | ОИСЕЕВИЧ | 01364187
ИВАНОВ АБРАМ МОИСЕЕВИЧ | ИСЕЕВИЧ | 01364187
ИВАНОВ АБРАМ МОИСЕЕВИЧ | СЕЕВИЧ | 01364187
ИВАНОВ АБРАМ МОИСЕЕВИЧ | ЕЕВИЧ | 01364187
ИВАНОВ АБРАМ МОИСЕЕВИЧ | ЕВИЧ | 01364187
ИВАНОВ АБРАМ МОИСЕЕВИЧ | ВИЧ | 01364187
ИВАНОВ АБРАМ МОИСЕЕВИЧ | ИЧ | 01364187

Дальше проиндексировать по word и при вводе строки поиска, состоящей из нескольких слов, оценивать для каждого слова значение ax_getaofrecordcount(). Затем делать aof-фильтр с optlevel=1 по тому слову, у которого наименьшее кол-во строк, а остальные слова из фразы поиска цеплять уже по условию вхождения в name (т.е. по "$").
Буду пробовать, отпишусь тогда.




Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 167
Зарегистрирован: 07.08.06
ссылка на сообщение  Отправлено: 13.06.13 14:33. Заголовок: p519446 пишет: у мну..


p519446 пишет:
 цитата:
у мну есть еще один вариант

в общем, сравнил я эти варианты.
И вот что спешу доложить: скорость "колхозного" варианта, когда все возможные начала строк пишутся в отдельные записи (как с "Ивановым Абрамом Моисеевичем") - просто космическая по сравнению с ADS FTS :-)
Превышение от 1.5 до 50(!) раз.

Так что буду юзать свою схему. Хоть и выглядит ужасающе, но работает же! :-)

Спасибо: 0 
ПрофильЦитата Ответить
Ответ:
1 2 3 4 5 6 7 8 9
большой шрифт малый шрифт надстрочный подстрочный заголовок большой заголовок видео с youtube.com картинка из интернета картинка с компьютера ссылка файл с компьютера русская клавиатура транслитератор  цитата  кавычки моноширинный шрифт моноширинный шрифт горизонтальная линия отступ точка LI бегущая строка оффтопик свернутый текст

показывать это сообщение только модераторам
не делать ссылки активными
Имя, пароль:      зарегистрироваться    
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 18
Права: смайлы да, картинки да, шрифты да, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет