5

您会建议在 sql server 表(varchar(max) 列)中搜索一个术语吗?

比方说,就像在 ebay 中一样,如果您搜索“wii 全新”,您会得到“全新 Nintendo Wii Fit 游戏 + 平衡板捆绑包”、“Wii Fit (Wii) 全新 WII FIT 游戏 + 平衡板”等结果。

我认为它基本上搜索每个单词并返回包含所有单词的单词,你会推荐什么?

4

2 回答 2

5

您正在寻找全文索引,它允许您进行比正则表达式等更高级的查询。

查看这篇文章以获得快速介绍,这些说明适用于 SQL Server 2000,与 2005 或 2008 相比,它的设置要困难一些。

相关报价:

通过全文搜索,您可以执行许多其他类型的搜索:

 *彼此靠近的两个词
 * 任何源自特定词根的词(例如 run、ran 或 running)
 *具有不同权重的多个单词
 * 接近搜索词或词组的词或词组
于 2008-10-13T11:40:13.747 回答
2

取决于你想要做什么。对于一个简单的搜索,你可以这样做 select * from table where field like '%word%'。但如果这是某种应用程序功能,您需要查看完整的春节搜索应用程序。它可以将出现在该字段中的单词存储为索引,然后搜索这些单词而不是使用该字段。

于 2008-10-13T11:40:42.077 回答