寻找.NET软件来抽象SQL Server包含语法

时间:2009-08-31 19:44:14

标签: c# .net sql sql-server full-text-search

我第一次使用SQL Server 2008全文功能。我喜欢CONTAINS和CONTAINSTABLE提供的功能,但我不希望我的用户学习寻找变形,使用短语,邻近等语法。

我的GUI将有一个文本框可供搜索。是否有任何(.net DLL或c#代码)将非常常见的搜索引擎运算符转换为SQL Server 2008的CONTAINS语法?我不必使用CONTAINS的所有功能,只需要布尔运算符,短语,通配符,排除项和可能的变形等内容。

3 个答案:

答案 0 :(得分:1)

我发现了这个:

A Google-like Full Text Search

它使用Irony

有没有人用过这个?

修改

我发现在codeplex页面上的Irony源代码包含了最新版本的这个版本。我会用它做一些测试并发布我的发现。

我的发现

它不够可靠。 SearchGrammer类的更新版本与Michael Coles创建的旧版本不同。但是,旧版本并不难崩溃。现在看起来实际上在客户端应用程序中使用sql server 2008 FTS并不容易。

答案 1 :(得分:0)

您是否考虑过简单地使用Lucene.net?

这涉及到sql server级别的额外工作,并且不支持某些复杂查询,而不支持FTS,但它只提供用户期望的那种搜索。

这是堆栈溢出中很多人推荐的:

最终,您可以尝试将非“以用户为中心”的模型推送到用户样式模式,或者在添加现有的以用户为中心的搜索功能上花费精力。

我建议如果以下情况属实:

  • 您拥有其他索引要求的硬件
  • 您可以处理lucene.net索引与FTS索引的有效性之间的额外延迟。

然后,您只需添加lucene.net即可获得更多成功

答案 2 :(得分:0)

对不起罗尼,我正在研究类似谷歌的解决方案,但它似乎只是谷歌和SQL服务器语法之间的“桥梁”。我无法看到抽象创建:在示例中,他们使用“documentSummary”,它是AvdentureWorks MS演示数据库的一个字段。

谢谢!