【问题标题】:How to do partial match in full-text search in SQL Server如何在 SQL Server 的全文搜索中进行部分匹配
【发布时间】:2015-04-11 02:39:25
【问题描述】:

我有一个地点列表,例如 “奥克兰”“惠灵顿”

如果输入“Auck”或“Welli”,我当前的实现不会返回这些行。

我正在使用全文搜索(因为有 3000 万行),并使用:

CONTAINSTABLE([Table], [Field], 'Auck')

这很好用,但我怎样才能让它在使用我的全文索引时进行部分匹配?

【问题讨论】:

    标签: sql sql-server full-text-search typeahead full-text-indexing


    【解决方案1】:

    我已将以下内容用于全文索引列的部分匹配。

    SELECT * FROM [Table] WHERE CONTAINS([Field], '"*Auck*"');
    

    同样适用于 CONTAINSTABLE

    SELECT * From CONTAINSTABLE([Table], [Field], '"*Auck*"');
    

    【讨论】:

      【解决方案2】:

      怎么样

      CONTAINSTABLE([Table], [Field], 'Auckland OR "Auck*"')
      

      【讨论】:

      • 您是否加入了 Auck*?
      • @TavoloPerUno,如果我们只输入 '"Auck*"',为什么我们需要 'Auckland OR "Auck*"'?
      猜你喜欢
      • 1970-01-01
      • 2019-10-20
      • 1970-01-01
      • 2023-03-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多