1

我想编写一个查询来检查用户提供的输入与我的表的列数据。我尝试使用 LIKE 和 CONTAINS 但它对我不起作用。例如,我的表格数据包含“Bar BQ Tonight”,如果用户输入“BBQ Tonight”,如何处理?我也为我的表启用了全文索引。我正在 Visual Studio 中使用 sql server 2005。有人可以指导我吗?

4

2 回答 2

1

一种处理方法是在您的表上创建单独的列,其中将包含流行的搜索标签或关键字,基于此您可以向用户显示结果。

于 2013-03-22T08:03:26.637 回答
0

同义词和首字母缩略词是信息检索系统 (IR) 的挑战。或许实现一个小型的首字母缩写词扩展系统。首字母缩略词和扩展术语。

当用户输入此类单词时,您需要提供一些建议或扩展术语。就像在 Google 中做建议一样,或者您可以显示几个相似的术语作为查询的回报,让用户决定哪个是相关的。

正如我所设想的那样,您至少需要三个表,但取决于上下文。

  1. 一个表包含停用词,因此您可以解析输入短语中的每个单词并删除所有停用词。
  2. 然后在首字母缩略词表中搜索单个术语,如果首字母缩略词有多个定义,您可以将首字母缩略词替换为每个定义并将其传递回用户询问哪个是相关的。如果这是网络环境,则表示超链接列表。
于 2013-03-22T08:22:46.687 回答