SQL Server:在字符串中搜索等效的措辞,例如英寸、英寸和"



根据标题,我正在寻找一种方法来搜索等效基础上的数据

如果用户搜索值为"20",它也会搜索20英寸,20英寸等…

我已经考虑过可能使用全文搜索和同义词典,但必须建立自己的对等库

我应该考虑其他的选择吗?或者是否已经编写了通用的符号/单词等价库?

编辑:

我不是指关键字和通配符

如果我的数据是
20"宽的管子
20 "宽的管道- 注意:(这是两个单引号)
20厘米宽的管道
20英寸宽的管子
20英寸宽的管子

我想搜索"20英寸",结果返回
20"宽的管子
20 "宽的管子
20英寸宽的管子
20英寸宽的管子

只是回答这个问题,以防有人在我终于弄明白的时候遇到。

我最终使用FTS同义词库来分配等效的英寸和",这对于英寸和英寸来说工作得很好,但是当我搜索6"时不会返回任何结果

最终发现,我遇到的潜在问题是,像"这样的字符在全文搜索中被视为断行符。

我发现自定义字典项似乎覆盖了语言的断字符,因此引入了一个名为Custom0009的文件。lex与几行"和其他一些字符/术语,我想包括在C:Program FilesMicrosoft SQL Server{实例名}MSSQLBinn和重启fdhost和重建索引允许我搜索

select * from tbldescription where FREETEXT(MainDesc,'"')

select * from tbldescription where contains(MainDesc,' formsofs (Thesaurus,"")')

请注意,搜索词在"中包含了一个,它需要转义才能被看到。

最新更新