2010-02-27 2 views
5

Что будет лучше среди следующих параметров?SQL Server и регулярные выражения

  1. Регулярные выражения в SQL Server ищут, поскольку новые версии поддерживают объекты CLR?
  2. Поиск по всему тексту?
  3. Lucene.net в сочетании с SQL Server?

Наша база данных будет иметь миллионы и миллионы записей, и мы предоставим Google-подобный вариант поиска и, как и Google, будем искать что-либо, мы будем искать только определенные категории.

Пожалуйста, помогите.

ответ

6
  1. Регулярные выражения в порядке, пока ваши данные маленькие, очень маленькие.

  2. Полный текст Поиск по SQL - хороший выбор. Мне лично это не нравится, потому что синтаксис поиска не такой выразительный, как Lucene.Net. Но в любом случае это хороший способ быстро получить полный текстовый поиск, не вдаваясь в подробности.

  3. Lucene.Net дает вам больше контроля/ответственности за создание и поддержание индекса, поэтому, если это вас не пугает, Lucent.Net дает вам высококачественные результаты, и вы можете много сделать с ним. Вы можете настроить и настроить практически все, чтобы ваша поисковая система работала так, как вы хотите, чтобы она работала. Я бы лично выбрал Lucene.Net.

В роде.

  1. не использовать регулярные выражения.
  2. Полный текстовый поиск SQL Server - это быстрый и простой способ получить достойный поиск из него, не будучи техническим.
  3. Lucene.Net - это лучшее качество изображения, но вам нужно пройти через некоторое обучение (если вы новичок).
3

Для поиска больших объемов данных вы хотите получить полный текстовый индекс. Регулярные выражения более гибкие и могут предоставить пользователям больше возможностей для выражения своих запросов, но это будет медленнее.

Lucene - прекрасный выбор, но вы можете обнаружить, что встроенные функции, которые SQL Server уже удовлетворяет вашим потребностям.

2

Несмотря на то, что я являюсь поклонником всех вещей SQL Server, я бы предпочел lucene.net над полнотекстовым поиском SQL Server.

Смежные вопросы