Просто поразмышлять
Ну вот придумал задачку, что бы не вдаваться в дебри программирования. Идеи должны вроде многим пригодится.
Итак, необходимо искать некоторые данные на сервере, их там довольно много. По умолчанию выводятся только первые 50 записей (1 page) для любого поиска.
Для более целенаправленного поиска есть дополнительные поля для ввода. Требуется придумать удобный UI для поиска и валидации. В конечном итоге реализация будет для веба.
Вот табличка для данных:
Название поля, тип данных, ограничения
- Search for text, string, EN letter or digits
- Search for id, string with comma delimiter numbers--> array of int, digits + [delimiter]
- Start from page, integer, >0
- Including similar, bool
- Data types, enum, 3 items
- Allowed range1 from, nullable int, >0
- Allowed range2 to, nullable int, < 1000
- Allowed range3 from, nullable int, >0
- Allowed range4 to, nullable int, < 100000
- Relative content, enum, 2 items
- Additional choice, enum, >30 items+none
что-то не понял...
Ну формочку сбацать с заданными полями. Результат может быть просто описание, mockup (http://pencil.evolus.vn/) или страница.
Ну что то типа этого.
-----
Для чего-то этого Я как-то написал построитель скл-фильтра... стандартный ЕФ6 не работал со старым ораклом...
Ну там, из того что помню, было довольно много возни с типами и скобками... зато потом - лафа - только данные присваивай и весь фильтр передавай в исполнительную систему...
Как сейчас - не знаю - там ребятки не разобравшись начали все курочить...
Но это довольно долго - пара недель на написание и отладку...
А вот как страница будет выглядеть...?
-----
Ой... вот что меня никогда не волновало - как оно будет показано...
Вообще - есть ДИЗАЙНЕР - вот пусть у него голова и болит КАК оно должно выглядеть...
Потому как от дизайнера не ожидается тюнинг ни запросов к базе, ни самой базы... ни даже вид списка условий...
вот что меня никогда не волновало
Да, похоже не тебя одного...
Просто на десктопе мне дизайнеры как то еще не попадались, приходилось всё самому делать.
А тут первый вопрос - какого два критерия поиска на одной странице? Но это надо спрашивать там, где я страницу стибрил
Ну вот придумал задачку, что бы не вдаваться в дебри программирования. Идеи должны вроде многим пригодится.
А вот как страница будет выглядеть...?
Ключевым элементом дизайна должна быть запись: поиск осуществляется по базе, которая содержит 1.7 миллиардов 3Д геометрий, как, например, в моей базе данных. И, конечно же реальная демонстрация этого поиска, например, можно воткнуть
C30-50H30-100O2-20N2-20Cl2-10
в первое поле поиска у меня на сайте по адресу https://www.elegant-nmr.com/mdb.html?rm и нажать кнопку Search. Даже на очень тормознутом хостинге такой поиск не заставит себя долго ждать и выплюнет желанные 50 наборов, в каждом из которых с пару десятков геометрий. Просто бери и пользуйся, главное, чтобы было что искать, а вот то, что искать у меня как раз и есть :)
Ключевым элементом дизайна должна быть запись
Для сайта, да важно, а вот для страницы поиска... как то не думаю.
Вот если бы гугл показывал сколько у него всего записей - изменило ли бы это что то кардинально или нет?
Главное, что я могу найти то что меня интересует. И это было бы удобно.
Приведенный дизайн меня как то не воодушевил, хотелось бы найти что то получше. Но похоже вопросы дизайна никого не интересуют здесь.
Так а зачем два поиска на одной странице? Ведь я же не могу их одновременно использовать. Ид есть ид - что задал то и получил. С названием вроде совсем не связано. Или я еще что не понимаю?
Вот если бы гугл показывал сколько у него всего записей - изменило ли бы это что то кардинально или нет?
А разве гугл сам страницы рисует и потом индексирует? А мы да - сами конформеры считаем и предлагаем удобный поиск по посчитанным результатам. То есть сравнение с гуглом - ка теплое с мягким.
Кстати, когда гугл начался - он тоже показывал, а Вы забыли? Кстати, все мои знакомые и я, перешли на гугл, когда узнали, что там используется алгоритм разреженного сингулярного разложения, потому, что для нас всех было доказуемо, что такой алгоритм будет масштабироваться на любое число документов, в отличие от того, что было в альтавистах и аналогичных поисковиках. Ну а многие ни мозаику, не альтависту не застали, родившись сразу со словом "гуглить" и об этом и не задумываются.
Так а зачем два поиска на одной странице?
Если Вы про поиск по CID/CAS/MID и поиск по всему остальному, так в чем проблема, прочитайте об этом в мануалах - там все понятно написано, тем более, что суммарное время, что Вы провели в этом поиске превышает 24 часа, то есть за это время можно и все было прочитать и понять, что там написано. Не так ли?
Ид есть ид - что задал то и получил.
у химиков спросите, или в мануалах почитайте.
PS: чтобы такой поиск делать или даже дизайн поиска, надо хорошо разбираться в том, что ищешь, то есть в химии, и хорошо понимать суть задачи, чтобы 50 терабайтую базу быстро индексировать,
вот тогда циферка 1.7 миллиардов как раз и будет ключевой в этом дизайне.
надо хорошо разбираться в том, что ищешь, то есть в химии
Ну я бы так ни один проект бы и не сделал. Для этого и существует совместная работа "исполнителя" и заказчика.
При этом исполнителем может быть и команда.
что там используется алгоритм разреженного сингулярного разложения
мне это как то совершенно по барабану. Я и так использую разные поисковые машины в зависимости от того что мне нужно. И интересует меня прежде всего результат, как к нему приходят - ну вот совсем не важно.
он тоже показывал, а Вы забыли?
не имею понятия в каком еще это году было
что Вы провели в этом поиске превышает 24 часа
Тут явно какая то большая ошибка. Хотя если считать время сколько открыта страница в браузере...
вот тогда циферка 1.7 миллиардов как раз и будет ключевой в этом дизайне.
никогда еще не встречал связь между дизайном UI и быстродействием программы.
прочитайте об этом в мануалах - там все понятно написано
ну в хелпе написано именно то о чём я и говорю
Внимание! После заполнения Вами этого поля, поиск становится приоритетным по номерам CID, CAS и Molecular ID, а поля по другим критериям поиска полностью игнорируются программой.
Внимание! После заполнения Вами этого поля, поиск становится приоритетным по номерам CID, CAS и Molecular ID, а поля по другим критериям поиска полностью игнорируются программой.
Это за 24 часа шараханья в нашей базе Вы только эту фразу успели прочитать?
Ничё не понял, нужен
построитель скл-фильтра
? Спросите в Гугле asp.net mvc query builder или с чем вы там работаете. Для asp.net mvc куча написанных контролов есть. Можно, конечно, писать самому, только непонятно, кто вам за это спасибо скажет (в денежной форме). Тут люди человеко-месяцы на это тратят, работая командой специалистов, а вы хотите на коленке по-быстрому накидать?
? Спросите в Гугле asp.net mvc query builder или с чем вы там работаете.
Простите, пожалуйста, реально я не понял, так как беглое гугление на Вами указанные слова только повысило мое не понимение.
Как я понимаю, Вы предлагаете какой-то фреймворк, который работает исключительно на Майкрософте.
Позвольте спросить, а зачем? Во фронтенде есть несколько кнопок и форм, пишется за день-два, если есть понимание что писать, все остальное - отрисовка 3Д геометрий, тоже пишется за неделю при наличии необходимых знаний, найти готовое во фреймворках с теми биндингами как у меня есть - ИМХО, не реально. А сама база крутится на линуксе и задумываться переносить ее на майкрософт даже не планирую, мне это не нужно. Основные ресурсы были потрачены на придумывание алгоритмов генерации этих молекул, способа их хранения, и быстрого поиска. По пути было даже несколько статей опубликовано, диссер по вычислительной математике и дипломная по вычислительной химии написаны.
построитель скл-фильтра
Что то вы явно не в ту сторону зашли.
Можно, конечно, писать самому
Ну готового нет в принципе, да идея была в другом.
Ну вот например - ввод ограничений снизу сверху. Какое будет лучшее решение?
Самое просто - два текстовых поля с валидацией. Но как то не Вау.
Для десктопа с мышой ранге контрол может был бы получше. Я вот для тач скрина, как?
Вопросов море, программировать до конечного решения - это уже совсем другой вопрос.