c# – 将用户输入的搜索查询转换为用于SQL Server全文搜索的where子句

前端之家收集整理的这篇文章主要介绍了c# – 将用户输入的搜索查询转换为用于SQL Server全文搜索的where子句前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
用户输入的搜索字词转换为可用于全文搜索的where子句以查询表格并获取相关结果的查询的最佳方式是什么?例如,用户输入以下查询
+"e-mail" +attachment -"word document" -"e-learning"

应该翻译成如下:

SELECT * FROM MyTable WHERE (CONTAINS(*,'"e-mail"')) AND (CONTAINS(*,'"attachment"')) AND (NOT CONTAINS(*,'"word document"')) AND (NOT CONTAINS(*,'"e-learning"'))

我正在使用query parser class,它使用正则表达式解析用户输入的查询令牌,然后从令牌构造where子句.

然而,鉴于这可能是许多使用全文搜索的系统的常见要求,我很好奇其他开发人员如何处理此问题,以及是否有更好的处理方式.

解决方法

这可能不是你正在寻找,但它可能会给你一些进一步的想法.

http://www.sqlservercentral.com/articles/Full-Text+Search+(2008)/64248/

猜你在找的C#相关文章