SQL Server和正则表达式

时间:2010-02-27 19:17:55

标签: sql-server regex lucene.net

以下选项中哪个更好?

  1. SQL Server搜索中的正则表达式,因为新版本支持CLR对象?
  2. 全文搜索?
  3. Lucene.net结合SQL Server?
  4. 我们的数据库将拥有数百万条记录,我们将提供类似Google的搜索选项,就像Google搜索任何内容一样,我们只会搜索某些特定类别。

    请帮忙。

3 个答案:

答案 0 :(得分:6)

  1. 只要您的数据很小,非常小,正则表达式就可以了。

  2. 全文使用SQL搜索是不错的选择。我个人并不喜欢这个选项,因为搜索语法不像Lucene.Net那样具有表现力。但无论哪种方式,它都是快速进行全文搜索的好方法,而不会涉及很多细节。

  3. Lucene.Net为您提供了更多的控制/责任来创建和维护索引,所以如果这不会吓跑你,那么Lucene.Net会提供高质量的结果,你可以用它做很多事情。您可以自定义和调整所有内容,以使您的搜索引擎按照您希望的方式运行。我个人会选择Lucene.Net。

  4. 排序。

    1. 不要使用正则表达式。
    2. SQL Server全文搜索是一种快速简便的搜索方式,无需技术支持。
    3. Lucene.Net是最好的结果,但要求你学习一些东西(如果你的新学习)。

答案 1 :(得分:3)

要搜索大量数据,您需要全文索引。正则表达式更灵活,可以为用户提供更多表达查询的能力,但速度会慢一些。

Lucene是一个不错的选择,但您可能会发现SQL Server已经满足您的需求的内置功能。<​​/ p>

答案 2 :(得分:2)

尽管我喜欢SQL Server的所有东西,但我还是赞成lucene.net而不是SQL Server的全文搜索。