问题标签 [formsof]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
sql-server-2008 - 我的 Sql Server 存储过程中的搜索查询问题
我有以下存储过程:-
当查询中有一个词时工作正常:例如。foo* 但是当我想要查找多个单词时它会失败。例如。foo* bar*(这意味着任何包含以 foo 开头并以 bar 开头的单词的行)。
我的@query 参数需要什么样的格式才能使用同义词库启用多个单词进行全文搜索?
tsql - FormsOf 函数中的参数和 SQL 注入
以下 SQL 是否容易通过 @SearchWord 参数进行 SQL 注入?
我想将参数与 FormsOf 函数一起使用,但我发现这样做的唯一指南是在这个 Stack Overflow 问题中:How to pass parameter to FormsOf function in sql server
然而,解决方案似乎是使用一些动态 SQL,我想知道这是否容易受到 SQL 注入的影响。如果@searchWord 包含 SQL 注入类型字符串,以下示例中会发生什么情况?这不是问题,因为它仍然在一个参数中,作为参数传递给 FREETEXTTABLE?
给出的解决方案是:
sql-server - 使用 CONTAINS、FORMSOF、NEAR 搜索多个搜索词的 SQL Server 全文搜索
我是 SQL Server 全文搜索的新手,并试图找出使用屈折引擎搜索多个单词的最佳方法,以便搜索使用所有单词的各种形式。
根据我的阅读,FREETEXT 在与多个单词一起使用时使用隐式 OR。我想要一个 AND 以便搜索结果包含所有单词,因此我选择使用 CONTAINS。
我正在尝试执行类似下面的查询,它使用 FORMSOF 和邻近关键字 NEAR 来表示多个单词。请注意,这是无效的语法并返回错误:
但是,下面的查询有效,但我不知道它是否给出了预期的结果。SQL全文搜索的“AND”和“NEAR”之间有区别吗?
我想我要问的是,有没有办法将 CONTAINS、FORMSOF 和 NEAR 与多个搜索词一起使用?还是我应该只使用上面使用“AND”的第二个查询?
sql - SQL Server 2008 R2 使用 FORMSOF 和不区分重音的全文搜索
我正在使用带有全文搜索的 MS SQL Server 2008 R2 来搜索以不同语言存储的文本数据。
我对CONTAINS
谓词如何与重音一起使用有点困惑。
当我使用以下谓词时
当德国被指定为语言时,目录上ACCENT_SENSITIVITY = OFF
的搜索结果是相同的,例如“Lächeln”和“lacheln”。
但是如果我改变谓词看起来像
那么结果就不同了,在我看来,口音不敏感不适用于FORMSOF
我试图在 MSDN 和 Google 上找到答案,但没有发现任何有用的东西。
有人知道为什么结果不同吗?
谢谢!
sql-server - FORMSOF 可以嵌套吗?
我正在尝试查看是否可以以某种方式使用 SQL Server 的全文搜索功能。
我的想法是做类似的事情:取 N 个关键字并搜索所述关键字及其同义词的所有形式。
我想出的是这样的东西:
但是这个查询不起作用。这甚至可能吗?我的想法是合理的,还是我要疯了?
sql - 用于 FREETEXT/FORMSOF 的 SQL Server 存储过程中的多个引号
我一直在看这个查询片段,认为我的单引号匹配正确,但我一直得到空白的结果集。我在这里错过了什么吗?我试图找到参数化关键字词组的变形版本。
欣赏任何见解。希望这只是我的一个愚蠢的错误......
sql - SQL Server 全文搜索同时使用词库和前缀形式
这是一个在字段上进行全文搜索的示例表FTSdata
:
无论用户输入“WordA”还是“WordB”,我都想找到所有这些记录。
我的词库是这样的:
我需要类似的东西
但不幸的是,FORMSOF 谓词不支持星号。
sql-server - 当我编写 MS SQL 全文搜索查询以返回所有匹配项时,它给我的输出不正确
这是我的查询:-
这给了我测试,测试,测试的结果
这个查询只给我测试结果。
我正在尝试获取具有“测试”字符串的记录,例如“这是一个测试用例”。
所以我的查询还需要在“这是一个测试用例”值中找到“测试”字符串。
假设我在 db 列中有一个字符串,例如“这是新一代”,然后我编写一个查询,例如-
select * from dbo.zones where contains(name, 'formsof(INFLECTIONAL, gen)');
那么这个查询没有返回“这是新一代”的结果,我需要如果我通过“gen”进行搜索,那么这给出了上面的结果