【问题标题】:SQL Server Full Text Search on Numeric valuesSQL Server 对数值的全文搜索
【发布时间】:2011-12-03 11:48:59
【问题描述】:

我知道全文搜索不适用于数值数据类型字段,但我想在搜索中包含数值。

我有一个项目列表,项目表中有 3 列是数字数据类型。但是,此表不是我应用全文搜索目录的表。我有另一个表,我正在搜索的 FTSItems(项目实际上存在于另一个数据库中)。

因此,我正在考虑将表格中的所有数值转换为文本 (nvarchar),全文搜索将应用于该文本。

注意:原始 Items 表来自 Microsoft Dynamics 数据库。该表有时会采用这些数值并将它们插入项目表的“项目名称”列中。

例如:

 ItemID:       1
 ItemName:     Bottlecap .25 inch diameter blue
 OrificeSize:  .25  (Datatype numeric(6,2) considering converting to nvarchar)
 Color:        blue

我只是想知道这是否值得采用,或者是否有其他可能的解决方案来满足我的搜索要求。

更新

我应该在我原来的问题中包含这个。我正在尝试为用户提供类似谷歌的搜索,其中用户只有一个文本框。然后搜索将需要搜索用户在表的所有列上输入的内容。

我借鉴了this article 中提出的一些想法。

【问题讨论】:

  • 不清楚你为什么要这样做。为什么不直接使用数值参数查询数值列呢?您能否展示一个示例查询并解释为什么您不能使用“正常”查询?

标签: sql-server full-text-search


【解决方案1】:

你的方法听起来很合理。

我还没有尝试过,但我想知道您是否可以使用计算列,而不必设置触发器或其他机制将数字转换为字符串。

另外,请记住,您可以将多个列组合成一个全文索引,从而允许使用单个查询搜索所有列。

【讨论】:

  • 我可以这样做(将数值添加到全文索引)。谢谢。
猜你喜欢
  • 1970-01-01
  • 2010-09-06
  • 1970-01-01
  • 2012-03-22
  • 1970-01-01
  • 2011-06-10
  • 2011-10-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多