我可以在构建mssql全文索引时定义要使用哪个断字符吗?

Zaz*_*Zaz 7 sql-server full-text-search sql-server-2008 fulltext-index

我创建了一个全文目录,用于存储表中某些列的数据,但内容似乎已经被我不想被视为单词分隔符的字符拆分.("/"," - ","_"等..)

我知道我可以设置断字器的语言,并且http://msdn.microsoft.com/en-us/library/ms345188.aspx给出了关于如何安装新语言的som想法 - 但我需要更多的直接控制,因为所有这些语言仍然打破了我想要打破的角色.

有没有办法定义我自己的语言用于查找断字符?

Tor*_*edo 5

全文索引在索引时只考虑字符_`。所有其他字符都将被忽略,并且单词在这些字符出现的地方被拆分。这主要是因为全文索引旨在为大型文档编制索引,并且只考虑适当的词以使其成为更精确的搜索。

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


Eri*_*k T 3

配置 FTS 索引的能力在开箱即用时相当有限。我不认为你可以使用语言来做到这一点。

如果您愿意接受挑战,并且能够了解一些 C++ 知识,那么您始终可以编写自定义 IFilter 实现。这不是微不足道的,但也不是太难。有关 IFilter 资源,请参阅此处