Контекстный поиск в Browse

Clarion, Clarion 7

Модератор: Дед Пахом

Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Shur
Ветеран
Сообщения: 384
Зарегистрирован: 02 Июль 2011, 18:49

Контекстный поиск в Browse

Сообщение Shur »

Дело в том, что предложенный мной полтора года назад метод был упрощенной моделью полнотекстового поиска (см. http://forum.clarionlife.net/phpbb/viewtopic.php?t=3301).
Для реализации полной модели в наших кустарных условиях (шутка!) требуется немногим большее, а именно:
нужно создать и поддерживать таблицу вида:
(<ID строки>,<ID поля>,<смещение>,<символ>).
Иметь два индекса: по символу и по остальным трём полям.
Практически после этого вы имеете максимальную скорость поиска по текстовым полям. Объяснять, как производить поиск, думаю, не нужно?
Разумеется, это влечёт накладные расходы в виде объёма такой таблицы и индексов, и это тоже обсуждалось ранее. Но скорость требует жертв. Чем-то всегда жертвуешь.
Yufil
Ветеран движения
Сообщения: 1277
Зарегистрирован: 16 Май 2006, 14:34
Контактная информация:

Контекстный поиск в Browse

Сообщение Yufil »

Я для SQL создавал временную базу, пусть даже через Like
Insert into tempdb (select id from <таблица> where <длинное-длинное условие>)
А потом
Brw1.View{Prop:SQLFilter} = 'id in (select id from tempdb)' - и вполне прилично листается

Кстати, на http://www.allitebooks.com/ и http://www.it-ebooks.info/, регулярно посещаемых ( о, сколько нам открытий чудных...) не знают слова Firebird, наверно, что-то секретное :)
Ответить