代码之家  ›  专栏  ›  技术社区  ›  pokrate

SQL Server和正则表达式

  •  5
  • pokrate  · 技术社区  · 14 年前

    在下列选择中哪个更好?

    1. SQL Server搜索中的正则表达式,因为新版本支持CLR对象?
    2. 全文搜索?
    3. Lucene.net与SQL Server结合使用?

    我们的数据库将有数以百万计的记录,我们将提供类似谷歌的搜索选项,和谷歌搜索任何东西一样,我们将只搜索一些特定的类别。

    请帮忙。

    3 回复  |  直到 14 年前
        1
  •  6
  •   Andrew Smith    14 年前
    1. 只要数据很小,非常小,正则表达式就可以了。

    2. 使用sql进行全文搜索是一个不错的选择。我个人不喜欢这个选项,因为搜索语法不像lucene.net那么有表现力。但不管怎样,这都是一个很好的方法,可以快速进行一些全文搜索,而不必涉及很多细节。

    3. lucene.net为您提供了创建和维护索引的更多控制/责任,因此如果这不会吓跑您,那么lucene.net将为您提供高质量的结果,您可以使用它做很多事情。你可以定制和调整几乎所有的东西,让你的搜索引擎工作方式,你希望它工作。我个人会选择lucene.net。

    按顺序。

    1. 不要使用正则表达式。
    2. sql server全文搜索是一种快速而简单的方法,可以在不需要技术支持的情况下从中获得一个像样的搜索结果。
    3. net对于它的结果质量来说是最好的,但是它需要你经历一些学习(如果你是新的)。
        2
  •  3
  •   Mark Byers    14 年前

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

    lucene是一个不错的选择,但是您可能会发现sql server的内置特性已经满足了您的需要。

        3
  •  2
  •   Mitch Wheat    14 年前

    尽管我是sql server的粉丝,但我还是希望 lucene.net 通过SQL Server的全文搜索。