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

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

概述将用户输入的搜索字词转换为可用于全文搜索的where子句以查询表格并获取相关结果的查询的最佳方式是什么?例如,用户输入以下查询: +"e-mail" +attachment -"word document" -"e-learning" 应该翻译成如下: SELECT * FROM MyTable WHERE (CONTAINS(*, '"e-mail"')) AND (CONTAINS(*, '" 将用户输入的搜索字词转换为可用于全文搜索的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# – 将用户输入的搜索查询转换为用于SQL Server全文搜索的where子句全部内容,希望文章能够帮你解决c# – 将用户输入的搜索查询转换为用于SQL Server全文搜索的where子句所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/1236601.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-06-06
下一篇2022-06-06

发表评论

登录后才能评论

评论列表(0条)

    保存