Sql server 查询节符号(§)i SQL Server 2012全文索引

Sql server 查询节符号(§)i SQL Server 2012全文索引,sql-server,sql-server-2012,full-text-search,special-characters,illegal-characters,Sql Server,Sql Server 2012,Full Text Search,Special Characters,Illegal Characters,我们使用SQL Server 2012对立法文件进行全文索引。但是,在2012年,似乎不可能创建包含节符号§等字符的查询 我似乎找不到MSDN上说明哪些字符不可查询的文档。在我们的用例中,当使用sys.dm_fts_解析器解析查询时,从查询中过滤出部分符号§似乎很烦人 使用SQL server 2012和全文搜索,通过实施一些配置或解决方法,是否可以做到这一点?您面临的问题是,像§这样的符号在SQL server全文中被视为断字符,就像空格一样 A+解决方案是创建自己的自定义分词器。我很难找到一

我们使用SQL Server 2012对立法文件进行全文索引。但是,在2012年,似乎不可能创建包含节符号§等字符的查询

我似乎找不到MSDN上说明哪些字符不可查询的文档。在我们的用例中,当使用sys.dm_fts_解析器解析查询时,从查询中过滤出部分符号§似乎很烦人


使用SQL server 2012和全文搜索,通过实施一些配置或解决方法,是否可以做到这一点?

您面临的问题是,像§这样的符号在SQL server全文中被视为断字符,就像空格一样

A+解决方案是创建自己的自定义分词器。我很难找到一个好的例子,甚至是一个如何做到这一点的参考,但我相信你可以参考扩展索引的签出,因为它们是基于相同的技术构建的


快速而肮脏的解决方案是使用LIKE运算符。例如:从“%$123%”这样的列所在的表中选择*

您面临的问题是,§这样的符号在SQL Server全文中被视为断字符,就像空格一样

A+解决方案是创建自己的自定义分词器。我很难找到一个好的例子,甚至是一个如何做到这一点的参考,但我相信你可以参考扩展索引的签出,因为它们是基于相同的技术构建的


快速而肮脏的解决方案是使用LIKE运算符。例如:从表中选择*,其中列“%$123%”

我们还没有检查实现自定义分词器,我认为使用类似搜索违背了使用全文索引的目的,我认为这会影响性能。但是,我们发现可以配置分词器,使其实际上排除某些字符。这里解释如下:

和 这里

我相信这将是在SQLServer2012中,在全文索引中创建可查询符号(如§queryable)的答案


不幸的是,这只适用于某些语言,尽管丹麦语是受支持的语言之一,而且我们应该使用丹麦语编制索引的文件的语言是丹麦语,但我们发现,当使用丹麦语作为语言时,语言分析存在严重问题,可能源于SQL server 2008/2012中用于丹麦语的词干类。现在,我们正在研究更改或禁用用于丹麦语的词干。这被证明是困难的,如果可能的话,但对于StackOverflow这里的一个完全不同的问题来说是困难的。

我们还没有检查实现自定义分词器,我相信使用LIKE search违背了使用全文索引的目的,我认为这会影响性能。但是,我们发现可以配置分词器,使其实际上排除某些字符。这里解释如下:

和 这里

我相信这将是在SQLServer2012中,在全文索引中创建可查询符号(如§queryable)的答案


不幸的是,这只适用于某些语言,尽管丹麦语是受支持的语言之一,而且我们应该使用丹麦语编制索引的文件的语言是丹麦语,但我们发现,当使用丹麦语作为语言时,语言分析存在严重问题,可能源于SQL server 2008/2012中用于丹麦语的词干类。现在,我们正在研究更改或禁用用于丹麦语的词干。如果可能的话,这被证明是困难的,但在StackOverflow上,这是一个完全不同的问题。

你能发布一个所述查询的示例吗?你能发布一个所述查询的示例吗?