Показаны сообщения с ярлыком программирование. Показать все сообщения
Показаны сообщения с ярлыком программирование. Показать все сообщения

10 марта 2011 г.

ASP.NET поисковый движок

На днях встала передо мной задача: "Найти и установить на уже готовый сайт поиск". Сайт скажу сразу достаточно большой, не одна таблица в базе, огромное количество данных. Поиск на нем есть, но его даже тормознутым нельзя назвать, он вообще никакой. Результатов поиска можно ожидать не только минут 5, но и пол часа. Есть ли пользователи, которые будут столько ждать? Не думаю, что есть такие! Потому начался долгий и упорный поиск движка. Мысль реализовать поисковый механизма самим отпала сразу, так как для реализации, чего-то нормального потребуется не один день и не факт, что с нашим количеством данных, это сразу будет работать быстро и верно.


Сказать честно бесплатных движков под .NET я почти не нашел. Есть решения платные, которые позволяют искать по БД, файловой системе и еще у черта на куличках. Но все это не подходило по одной причине - слишком дорого! Порывшись примерно день я все же натолкнулся на то, что хотел. Lucene.NET поисковый движок портированный с Java, бесплатный и, насколько можно судить по куче отзывов, достаточно мощный. Единственный недостаток, это малое количество документации и примеров. Хотя книги все же есть, на английском, но есть. Сейчас я занимаюсь тем, что интегрирую данную библиотеку с сайтом и могу сказать, что все проходит достаточно гладко и поиск работает отменно.


PS. В ближайшее время постараюсь найти время и написать пару статей по использованию данного движка.

26 января 2011 г.

Загадочный DataGrid

Представьте ситуацию, когда у Вас страница, на которой ничего толком-то и нету грузится 15 секунд. Что делать? Оптимизировать конечно!


Сначала я проверил как быстро выполняются запросы к БД, оказалось очень быстро, просто мгновенно. Далее тестам подверглись некоторые куски кода, которые тоже показали хорошие результаты. Пришлось включить трассировку для страницы, увидеть и ужаснуться. Render страницы порядка 14-16 секунд. Как Вам?


Идем дальше и выясняем, что рендерится так долго исключительно DataGrid в который мы передаем порядка 25 записей. Но что оказалось самым удивительным, это тот факт, что отрисовка контролов LinkButton и ImageButton, как раз и давала нам наши тормоза. Потратив кучу времени на поиски хоть чего-то по этой проблеме в Интернете, я ничего не нашел. А проблема была решена простым переименованием контролов. Никаких скриптов на данные контролы не накручено, ничто с ними не работает. Вот так вот! Если получится докопаться до истины, то чуть позже напишу, из-за чего так получилось?