关于全文检索电话号码的问题。或者:为什么我在搜索时很烂?

时间:2019-04-17 14:41:22

标签: sql-server

我正在Azure SQL数据库中包含电话号码的列上实现全文索引。使用CONTAINS函数无法获得预期的结果。

这是针对Azure SQL的。我曾尝试在CONTAINS谓词中使用不同的参数和通配符,但仍然一无所获。

我也无法使用之前看到的解决方法,您也无法以相反的字符串顺序存储要搜索的列。

要查询的表非常大(除了我们在系统上使用的其他搜索功能之外),这是我们需要此全文本索引的驱动力

首先这是桌子(简而言之)

CREATE TABLE PhoneNumbers (PhoneNumber NVARCHAR(100))

接下来,我将电话号码存储到其中

INSERT INTO PhoneNumber ('491212780579')

现在,我的用户希望在电话号码字段中执行搜索。在此示例中,我们的用户搜索:1212780579

对该数据库的查询显示为:

SELECT * FROM PhoneNumber WHERE CONTAINS(PhoneNumber, '"1212780579"')

我希望上面的查询返回存储在表中的电话号码491212780579,因为搜索字符串包含在该列中输入的数据中,但是根本不会返回。

我在这里滥用全文搜索功能吗?还是我完全不走运?

0 个答案:

没有答案