Добавление расширенного поиска в ASP.NET MVC 3 / .NET - PullRequest
2 голосов
/ 14 марта 2012

На веб-сайте, над которым я работаю, есть расширенная форма поиска с несколькими полями, некоторые из которых динамические, которые отображаются / скрываются в зависимости от того, что выбирается в форме поиска.

Ожидается, что данные в базе данных будут большими, а записи распределены по нескольким таблицам в очень нормализованном порядке.

Есть ли рекомендации по использованию поисковой системы третьей части, полнотекстового поиска на сервере sql, lucene.net и т. Д., Кроме использования запросов SELECT / JOIN?

Спасибо

Ответы [ 3 ]

0 голосов
/ 15 марта 2012

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

Для реального поиска я бы порекомендовал немного аромата Lucene.

Вы можете выбрать вариант .NET Lucene.NET, который использует Stackoverflow, Solr, который, возможно, проще в настройке и запуске, чем Lucene, или новейший ребенок в блоке ElasticSearch, целью которого является отсутствие схемы. и бесконечно масштабируемый, просто отбрасывая больше экземпляров в кластере.

Я использовал только Solr сам, и у него есть хороший клиент .NET (SolrNet).

0 голосов
/ 16 марта 2012

сначала проиндексируйте поле вашей базы данных, которое важно и очень удобноа для поиска лучше использовать полнотекстовый поиск я стараюсь, и результат сильно отличается от того, когда я не использую полный тексти лучше используйте запрос select и join в сохраненном протоколе и вызовите sp из вашей программы

0 голосов
/ 15 марта 2012

Думая немного нестандартно здесь -

Выезд CSLA.NET ; Используя эту платформу, вы можете создавать бизнес-объекты и «денормализовать» свой алгоритм поиска.

В любом случае, убедитесь, что база данных имеет правильные индексы для повышения производительности.

...