【问题标题】:Azure SQL Server - Full Text Search - Partial Words/Leading WildcardAzure SQL Server - 全文搜索 - 部分单词/前导通配符
【发布时间】:2017-09-19 09:59:04
【问题描述】:

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

问题:

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

所以,我知道我能做到:

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

我也想说:

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

是否说 FTS 无法实现这一点,我必须求助于LIKE '%par%' 才能获得我需要的结果?

【问题讨论】:

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


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 2011-02-09
      • 2011-02-17
      • 2015-06-15
      • 1970-01-01
      • 2011-02-27
      • 1970-01-01
      • 2018-01-12
      • 2020-05-31
      • 2010-10-31
      相关资源
      最近更新 更多