【发布时间】:2019-11-30 05:30:11
【问题描述】:
我正在使用全文搜索来搜索用户名数据库(这些主要是电子邮件地址,但不是全部)。但是,由于“_”不被视为断词字符,因此很难搜索某些用户。
例如搜索“pancakes*”将返回“bobby-pancakes”或“bobby@pancakes.com”的结果,但不会返回“_bobby_robert_pancakes@email.com”的结果。我需要一个匹配所有这些的搜索。
为了解决这个问题,我想将下划线视为断字字符,如空格或连字符。有没有办法更新全文搜索中哪些字符断词?
为什么不使用 LIKE 运算符?
不幸的是,我们有一个庞大的用户名数据库,而且速度太慢了。
自定义词典怎么样?
据我所知,自定义词典允许您阻止分词器破坏某些字符组合,但不允许您引入新的破坏字符。
自定义分词器怎么样?
我似乎找不到任何关于如何创建其中之一的文档。
【问题讨论】:
标签: sql-server full-text-search full-text-indexing