powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Разработка информационных систем [игнор отключен] [закрыт для гостей] / Динамический поиск
33 сообщений из 33, показаны все 2 страниц
Динамический поиск
    #37244464
Erik0s
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем доброго времени суток !

Есть такая задача , реализовать побуквенный вывод данных из базы , тоесть динамический. Например , юзер ввел "А" ему выдаются все записи из определенной таблицы , которые начинаются на "А", ввел юзер "АБ" , ему выдаю все записи начинающиеся на "АБ".

Я чего-то не понимаю , или придется на каждое изменение строки , делать новый запрос в базу ? ... как-то уж совсем печально это выглядит , или возможно при вводе первого символа , получить на стороне сервера все записи начинающиеся с этой буквы , а дальнейший поиск делать по полученным , но это черевато проблемами , например придется отслеживать ситуации , когда строка становится пустой и на сервере обнулять текущие данные и делать новый запрос ... Да и вообще как-то печально выглядит , мож кто подскажет че делать ? ... Эта штука нужна для веб сайта
...
Рейтинг: 0 / 0
Динамический поиск
    #37244474
egorych
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Erik0sпридется на каждое изменение строки , делать новый запрос в базу ? ... как-то уж совсем печально это выглядити в чём печаль? у вас юзер "войну и мир" будет в редактор ввода набирать?
...
Рейтинг: 0 / 0
Динамический поиск
    #37244481
Erik0s
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
egorychErik0sпридется на каждое изменение строки , делать новый запрос в базу ? ... как-то уж совсем печально это выглядити в чём печаль? у вас юзер "войну и мир" будет в редактор ввода набирать?

Нет ) Просто думал , что есть более деликатное решение , которое бы уменьшало кол-во запросов.
...
Рейтинг: 0 / 0
Динамический поиск
    #37244498
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Erik0s,
в вебе так и есть.
Можно усложнить проверкой скорости соединения, как в гугле-поиск (выключать чтобы не висло).
...
Рейтинг: 0 / 0
Динамический поиск
    #37244500
egorych
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Erik0s, их не так уж и много надо, на самом-то деле. Как правило, 3-4 букв достаточно, чтобы сократить поиск до получения искомого или достичь пустого списка. Вполне себе, имхо, нормальное условие. Сервер БД и нужен для того, чтобы исполнять запросы, кмк :-))
...
Рейтинг: 0 / 0
Динамический поиск
    #37244503
egorych
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
egorych,

*Вполне себе, имхо, нормальное решение
...
Рейтинг: 0 / 0
Динамический поиск
    #37244509
Erik0s
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вы меня успокоили ) Спасибо !
...
Рейтинг: 0 / 0
Динамический поиск
    #37244666
Leonidv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Erik0sЯ чего-то не понимаю , или придется на каждое изменение строки , делать новый запрос в базу ?
А кэширование зачем? Делаем кэш и радуемся.
...
Рейтинг: 0 / 0
Динамический поиск
    #37244669
Leonidv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я плохо написал.

Суть в том, что можно поставить кэш и спрашивать запросы оттуда. Во-вторых, искать не по одной букве, а по двум - сразу снизить количество запросов.
...
Рейтинг: 0 / 0
Динамический поиск
    #37244683
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LeonidvА кэширование зачем? Делаем кэш и радуемся.
Всё зависит от объема контента, который мы хотим покрыть кешем.
P.S. Автор, смотрите в сторону "full text search".
...
Рейтинг: 0 / 0
Динамический поиск
    #37245445
tadmin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можно ставить select ... limit N, где N зависит от длины поисковой строки. Чем короче, тем строде лимит.
Еще полезно посылать запрос к БД не сразу после ввода символа, а с задержкой в 80-100 мс. Человек почти не чувствует это, зато, при быстром вводе, почти всегда дело доходит до ввода 2-3 символов. Величина задержки между вводом символов сокращается при вводе все более длинной строки.

Ну и разные partial индексы никто не отменял....
...
Рейтинг: 0 / 0
Динамический поиск
    #37245924
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonidv,
просто, тормозит, обычно HTTP (не СУБД).
А куда там кеш?
...
Рейтинг: 0 / 0
Динамический поиск
    #37246011
Leonidv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123Leonidv,
просто, тормозит, обычно HTTP (не СУБД).
А куда там кеш?
HTTP??? В смысле передача байтов по каналу или что?
...
Рейтинг: 0 / 0
Динамический поиск
    #37246042
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonidv,
ну да, транспорт.
Т.е. передача результатов запроса в виде нового фильтрованного списка (гугл).
Моментально работает кеш DevExpress на клиенте до 10 000 записей (перекачает всё на клиента (TCP))
...
Рейтинг: 0 / 0
Динамический поиск
    #37246219
Leonidv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123Leonidv,
ну да, транспорт.
Т.е. передача результатов запроса в виде нового фильтрованного списка (гугл).
Моментально работает кеш DevExpress на клиенте до 10 000 записей (перекачает всё на клиента (TCP))
Передать 300 байт это жуткая задача для современных телекоммуникаций?
...
Рейтинг: 0 / 0
Динамический поиск
    #37246230
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonidv,
помилуйте, я не ответственный за ТЕЛЕкоммуникации :)
Возьмите реальный пример гугл-поиск, и посмотрите КАК там всё это работает и скока там байт.
Вам и МСУ указал на проблемы кэша.
...
Рейтинг: 0 / 0
Динамический поиск
    #37246310
Erik0s
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Petro123,

Объем там будет небольшой , в базе будет < 1000 записей , да и результаты мало пересекаются , в том смысле что , там будут фамилии , имена людей , после ввода 3-4 символов , уже список будет < 10 элементов.

p.s. MCY спасибо за наводку )
...
Рейтинг: 0 / 0
Динамический поиск
    #37246326
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Erik0s,
у Серверов есть такая шутка
Если ты сервер, не суетись под клиентом (с)
:)
...
Рейтинг: 0 / 0
Динамический поиск
    #37246339
Erik0s
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Petro123,

Надо будет запомнить
...
Рейтинг: 0 / 0
Динамический поиск
    #37246368
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Erik0sОбъем там будет небольшой , в базе будет < 1000 записей , да и результаты мало пересекаются , в том смысле что , там будут фамилии , имена людей , после ввода 3-4 символов , уже список будет < 10 элементов.

и ради этого все затеяно? Оставьте сервер в покое.
...
Рейтинг: 0 / 0
Динамический поиск
    #37246394
Erik0s
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
iscrafmErik0sОбъем там будет небольшой , в базе будет < 1000 записей , да и результаты мало пересекаются , в том смысле что , там будут фамилии , имена людей , после ввода 3-4 символов , уже список будет < 10 элементов.

и ради этого все затеяно? Оставьте сервер в покое.

Ну , жаль конечно , что по объемам гугл не догоняю )) Но все дело в мелочах ... Как говорится "мелочь , а приятно "
...
Рейтинг: 0 / 0
Динамический поиск
    #37246410
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Erik0siscrafmпропущено...

и ради этого все затеяно? Оставьте сервер в покое.

Ну , жаль конечно , что по объемам гугл не догоняю )) Но все дело в мелочах ... Как говорится "мелочь , а приятно "
да гугл то здесь причем? Загружайте при таких объемах все на клиента и ищите там во всех возможных вариантах.
...
Рейтинг: 0 / 0
Динамический поиск
    #37246434
Erik0s
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
iscrafm,

Я Вас не так понял , сорри )
...
Рейтинг: 0 / 0
Динамический поиск
    #37246547
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iscrafmОбъем там будет небольшой , в базе будет < 1000 записей
Если данные редко изменяемы - кешируйте.

P.S. Вот тут писал про архитектуру с кешированием: http://www.sql.ru/forum/actualthread.aspx?tid=819193
...
Рейтинг: 0 / 0
Динамический поиск
    #37246615
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУiscrafmОбъем там будет небольшой , в базе будет < 1000 записей
Если данные редко изменяемы - кешируйте.

P.S. Вот тут писал про архитектуру с кешированием: http://www.sql.ru/forum/actualthread.aspx?tid=819193
я этого не говорил
...
Рейтинг: 0 / 0
Динамический поиск
    #37246693
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iscrafmErik0sпропущено...
Ну , жаль конечно , что по объемам гугл не догоняю )) Но все дело в мелочах ... Как говорится "мелочь , а приятно "
да гугл то здесь причем? Загружайте при таких объемах все на клиента и ищите там во всех возможных вариантах.
DevExpress \ ClientDataSet так и делает, только вот в веб, не знаю таких библиотек (1000 записей возле осла).
Может в Net какой-нить WebDataSet и есть.
...
Рейтинг: 0 / 0
Динамический поиск
    #37246815
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iscrafmя этого не говорил
Утро :)
...
Рейтинг: 0 / 0
Динамический поиск
    #37247524
AlexKB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Erik0sВсем доброго времени суток !

Есть такая задача , реализовать побуквенный вывод данных из базы , тоесть динамический. Например , юзер ввел "А" ему выдаются все записи из определенной таблицы , которые начинаются на "А", ввел юзер "АБ" , ему выдаю все записи начинающиеся на "АБ".

Я чего-то не понимаю , или придется на каждое изменение строки , делать новый запрос в базу ? ... как-то уж совсем печально это выглядит , или возможно при вводе первого символа , получить на стороне сервера все записи начинающиеся с этой буквы , а дальнейший поиск делать по полученным , но это черевато проблемами , например придется отслеживать ситуации , когда строка становится пустой и на сервере обнулять текущие данные и делать новый запрос ... Да и вообще как-то печально выглядит , мож кто подскажет че делать ? ... Эта штука нужна для веб сайта

Для любого MUMPS - сервера, это как два пальца...
Искать с приближением можно хоть в миллиардах записей, на скорость это не влияет.
При вводе символа "А" вероятнее всего нужно будет отобрать первые N-строк выборки, дальше приближаясь к намеченному отобрать уже меньший список, вплоть до единичного значения.
Тем более что в старые времена поиск по справочникам всегда так и выполнялся.

...особенности MUMPS - технологии.
...
Рейтинг: 0 / 0
Динамический поиск
    #37247633
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlexKB,

а не смущает то, что речь идет о веб-приложении?
...
Рейтинг: 0 / 0
Динамический поиск
    #37247873
AlexKB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iscrafm,

Веб, он и в Африке Веб - не остоит отдавать клиенту всю выборку, только первые, скажем, 100 записей.
Вопрос был в том, как на сервере ускорить контекстный поиск.

Все MUMPSы с Вебом дружат.
А там дело вкусов.
...
Рейтинг: 0 / 0
Динамический поиск
    #37247976
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlexKBiscrafm,
Веб, он и в Африке Веб - не остоит отдавать клиенту всю выборку, только первые, скажем, 100 записей.
Вопрос был в том, как на сервере ускорить контекстный поиск.
Все MUMPSы с Вебом дружат.
А там дело вкусов.
вы так и не поняли, что в десктопе (клиент-сервер) с этим вообще вопросов никаких нет. На любой БД .
...
Рейтинг: 0 / 0
Динамический поиск
    #37248737
mad_nazgul
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Erik0sВсем доброго времени суток !

Есть такая задача , реализовать побуквенный вывод данных из базы , тоесть динамический. Например , юзер ввел "А" ему выдаются все записи из определенной таблицы , которые начинаются на "А", ввел юзер "АБ" , ему выдаю все записи начинающиеся на "АБ".


Да помню эти штучки...
Locator назывались, но не в Вебе

Erik0sЯ чего-то не понимаю , или придется на каждое изменение строки , делать новый запрос в базу ? ... как-то уж совсем печально это выглядит , или возможно при вводе первого символа , получить на стороне сервера все записи начинающиеся с этой буквы , а


Не факт. Вполне можно переложить на "приложение".

Erik0sдальнейший поиск делать по полученным , но это черевато проблемами , например придется отслеживать ситуации , когда строка становится пустой и на сервере обнулять текущие данные и делать новый запрос ... Да и вообще как-то печально выглядит , мож кто подскажет че делать ? ... Эта штука нужна для веб сайта

Если не хотите дергать БД (хотя по моему это самый быстрый вариант)
То можно воспользоваться двумя путями.

На стороне клиента -
Пользуем динамическое формирование страницы
Грузим всю таблицу в хеши.
А потом по скрипту выводим.


На стороне сервера -
Пользуем AJAX и динамическое формирование страницы
Запросы отправляем на сервер.
Который посылает соответствующий набор данных.

Так что сделать можно.
Но из-за того, что будет использоваться усиленно JavaScript, то нагрузка на клиента будет сильной...

Можно попробовать Java Applet's, ActiveX, SilverLight.
Но ту свои "подводные камни"
...
Рейтинг: 0 / 0
Динамический поиск
    #37249015
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mad_nazgulНа стороне клиента -
Пользуем динамическое формирование страницы
Грузим всю таблицу в хеши.
А потом по скрипту выводим.

вы поделили по признаку клиент \ сервер.
Если делить по Тонкий \ толстый, то размер данных хранимых на клиенте - 100 килобайт.
______________________________________________
"Сложнее всего в мире достигнуть простоты — это крайняя граница опыта и последнее усилие гения". © George Sand.
AutoPOI.ru — ГИС-технологии для Oracle
...
Рейтинг: 0 / 0
33 сообщений из 33, показаны все 2 страниц
Форумы / Разработка информационных систем [игнор отключен] [закрыт для гостей] / Динамический поиск
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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