使用 asp.net 进行全文索引和参数化查询

发布于 2024-11-09 07:04:32 字数 162 浏览 0 评论 0原文

我有一个内部构建的查询生成器,它使用全文索引来执行描述搜索。

查询已构建并参数化,我想知道从网站对表单字段进行编码的最佳方法,以便传递搜索字符串,例如:

  1. 覆盖
  2. 由“红色”靠近“黄色”
  3. 红色“鱼

”谢谢

I've got a query builder that's been built in house which is using a full text index in order to perform description searches.

The query is built and parametrized and I was wondering the best way to encode the form field from the website in order to pass search strings such as:

  1. Covered by
  2. "red" near "yellow"
  3. red" fish

Thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

岁月打碎记忆 2024-11-16 07:04:32

如果您想使用全文搜索,您应该将 where 子句与其他特定函数(不仅仅是 = 或 like )一起使用。

@param1 仍然是一个字符串(最终是 nvarchar);请参阅此处:

使用全文搜索查询 SQL Server

例如,你以这种方式查询(来自MSDN):

USE AdventureWorks2008R2;
GO
DECLARE @SearchWord nvarchar(30)
SET @SearchWord = N'performance'
SELECT Description 
FROM Production.ProductDescription 
WHERE CONTAINS(Description, @SearchWord);

关于特殊字符和转义它们,只需看看这里:SQL Server 全文搜索转义字符?

If you want to use full text search you should use where clause with other specific functions ( not just = or like ).

@param1 will still be a string (nvarchar eventually); see here:

Querying SQL Server Using Full-Text Search

for example, you query in this way (from MSDN):

USE AdventureWorks2008R2;
GO
DECLARE @SearchWord nvarchar(30)
SET @SearchWord = N'performance'
SELECT Description 
FROM Production.ProductDescription 
WHERE CONTAINS(Description, @SearchWord);

about special chars and escaping them, just have a look here: SQL Server Full Text Search Escape Characters?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文