Azure SQL Server - 全文搜索 - 部分词/领先通配符

时间:2017-09-19 09:59:04

标签: sql-server full-text-search azure-sql-database

我在SO上看到了几个关于在SQL Server上全文搜索中匹配部分单词的可能性的问题,但它们都已经很老了,所以我发帖看看是否有关于这种情况的更新。

问题:

我在使用全文搜索的表格中的单个字段上运行关键字搜索。 我希望能够匹配一个部分单词,而不仅仅是一个给定单词开头的通配符搜索。

所以,我知道我能做到:

Contains(table.myfield, '"par*"'会匹配partypartner等内容......

我也希望能够说:

Contains(table.myfield, '"*par*"'匹配spartansparing等内容......

说FTS无法实现这一点是否属真,我不得不诉诸LIKE '%par%'来获得我需要的结果?

1 个答案:

答案 0 :(得分:1)

全文搜索仍然不允许使用双通配符。但是,您现在可以使用Azure搜索使用Lucene语法同时对多个列执行正则表达式搜索,如here所述。例如,要搜索具有术语“高级”或“初级”的所有作业,您可以执行以下搜索:

& queryType = full& $ select = business_title& search = business_title:/(Sen | Jun)ior /