【问题标题】:SQL2008 fulltext index search without word breakersSQL2008全文索引搜索没有分词器
【发布时间】:2012-09-12 20:03:25
【问题描述】:

我正在尝试使用 CONTAINS 在 FTI 中搜索 Twitter 风格的用户名,例如@username,但分词器会忽略 @ 符号。有什么办法可以禁用分词器?根据研究,有一种方法可以创建自定义分词器 DLL 并安装它并分配它,但这一切似乎有点密集,坦率地说,在我头上。我禁用了停用词,这样破折号就不会被忽略,但我需要那个 @ 符号。有什么想法吗?

【问题讨论】:

标签: sql sql-server full-text-search sql-server-2008-r2 wordbreaker


【解决方案1】:

你不会喜欢这个答案的。但是全文索引在索引时只考虑字符_`。所有其他字符都被忽略,单词在这些字符出现的地方被分割。这主要是因为全文索引旨在索引大型文档,并且只考虑适当的单词以使其成为更精细的搜索。

我们遇到了类似的问题。为了解决这个问题,我们实际上有一个翻译表,其中像 @,-, / 这样的字符被替换为特殊的序列,比如 '`at`','`dash `'、'`slash`' 等。在全文搜索时,您必须再次用这些特殊序列替换搜索字符串中的字符并进行搜索。这应该注意特殊字符。

【讨论】:

  • 有答案总比没有答案好——感谢 Torpedo。我会试试这个。
猜你喜欢
  • 1970-01-01
  • 2015-06-15
  • 1970-01-01
  • 2014-05-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多