
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
28.05.2003, 09:42:31
|
|||
|---|---|---|---|
КАК БЫТЬ |
|||
|
#18+
Было: 1. некая поисковая система, которая стояла на локальных машинах Delphi+Interbase. Будет: 2. некая поисковая система на сервере SUN + ORACLE 8.1.7 Естественно встал вопрос сохранять прежнюю систему, т.е. выкачивать в InterBase из Oracle и ставить на локальные, либо юзать все как есть на Oracle. Однако юзверей на Oracle ожидается от 100 одновременно. Старая система работала тупо: есть строка названия по которому нужно искать, длинная до varchar(1000). и она слова искала по методу select * from table aaa like '%что-то%' or like ......... На локальной терпимо и БД не реляционная, но совершенно > 2 сек. В новой системе такой фокус не пройдет, full table scan ..... и реляционность покруче, если адрес в старой системе хранился в одной таблице, то в новой в 6. Сделал так, разложил фразу по словам (разделители пробел, ., -, / etc) в дополнительную таблицу и ищу select id from table like 'что-то%' id in (select id from table like 'что-то_2%') ..., индекс и все быстро, порядка 0.050 сек. Но !!!! Есть составные слова, например ОБЛТРАНСГАЗ которые по словам не раскладываются и если искать ТРАНСГАЗ, то не найдешь. Выход в том, чтобы такие сложные слова раскладывать вручную, их немного. Операторы кричат, это все плохо, верните нам старую программу, на локальные машины, но влом такой .... заниматься Что народ думает ???? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=52&tablet=1&tid=1990320]: |
0ms |
get settings: |
11ms |
get forum list: |
15ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
32ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
25ms |
get tp. blocked users: |
1ms |
| others: | 285ms |
| total: | 384ms |

| 0 / 0 |
