У меня есть требование создать функцию поиска на веб-странице. Поля для фильтрации: from date
- to date
, first money value
- second money value
, выпадающий список с предопределенными значениями и свободный текст.Как искать огромный объем данных на сервере Sql и разбивать их на страницы в MVC?
База данных с Sql Server
и CMS - Umbraco
. Я искал лучшее решение, но, к сожалению, еще не нашел!
Я попытался исследовать
Elasticsearch
,Lucene
и других платформ, как они, но они не соответствуют моим потребностям, потому что я должен использоватьFull Text Search
в Sql Server.Сущность не подходит для этого случая, поскольку она не поддерживает
Full Text Search
на сервере Sql. Есть трюки, чтобы сделать это, но в первую очередь это не одно и то же ...Я попытался создать динамический запрос в зависимости от полей, введенных пользователем, но некоторые говорят, что они не являются хорошими решениями для больших данных.
Другое решение пришло мне, что мой разум динамически создавал запрос на стороне приложения, а затем выполнял его, я не уверен, что этот способ достаточно хорош?
Создание больших представлений не является решением, поскольку они могут разрушить производительность, как я читал в некоторых статьях.
Кто-нибудь реализовал хорошее решение для поиска огромного количества данных, где параметры являются динамическими (что делает запрос динамическим, а) и данные, полученные потребностям быть пронумерованы в виде? Я очень ценю, если кто-нибудь даст мне некоторую информацию о том, как сделать разбиение на страницы в MVC
или Umbraco
Кроме того, в базе данных могут быть миллионы записей, а разбиение на страницы должно быть на стороне сервера.
Если нет хороший способ со стороны сервера, чтобы сделать все вещи, пожалуйста, предоставить мне некоторую информацию, как использовать Elasticsearch
или Lucene
в C#
для пагинацией вы можете использовать следующий запрос SELECT * FROM
Это не так полезно, поскольку он должен фильтровать данные перед добавлением разбивки на страницы –
Спасибо за предложение @Mani, но мне нужен запрос фильтрации или лучшая реализация, как искать сначала, а затем я могу использовать ваше предложение. –
ответ
Когда вы говорите «на стороне сервера», я полагаю, вы имеете в виду SQL Сервер ... Если данные, которые нужно запросить, записываются в Umbraco, я бы избегал обхода уровня доступа к данным Umbraco, читая непосредственно из базы данных, так как вам придется переписать логику для обработки публикации &.
Umbraco использует Examine (построен на вершине Lucene) для обеспечения внутреннего поиска и легко настраивается для создания собственного.
Документацию по осмотру можно найти here и полезное руководство по началу работы можно найти here.
источник
2016-09-14 11:00:06 Anth12
Смежные вопросы