回答

收藏

SQL Server全文CONTAINS + COLLATE忽略口音问题

技术问答 技术问答 353 人阅读 | 0 人回复 | 2023-09-12

大家好,我在用COLLATE同时忽略重音也被使用Contains full text这方面有些挣扎。
# q6 Q" M' T; l* B% k$ X2 A在我理解之前,香港专业教育学院减少列搜索只是这里的一个例子,实际参数的实时编码只是为了简单地做到这一点。/ P# m. r) W6 N2 a/ j( \
如果我有
7 g! B9 r& @1 Q2 P# h& V3 H! `SELECT      Col1,    Title COLLATE SQL_Latin1_General_Cp850_CI_AI AS Title,    ColXFROM     FooWHERE      CONTAINS((Title), '"suenos" OR "french"')这只会用法语返回结果。例如,我将添加通配符:
6 j  F, k( {! T/ t3 _    WHERE      CONTAINS((Title), '"suenos*" OR "french"')我得到了Sue帽os法语搜索结果。Ive在LIKE和COLLATE同样的行为被注意到,例如,它只有和’suenos’相对应的’suenous%’的单词。  y: {0 f1 Z) \0 ?
为什么会这样?
  i0 x" F7 a/ E& k, D; P% Z4 ]; T非常感谢。
0 ]* S8 {0 E/ o# O5 @                                                               
8 m  {+ _& {5 R2 L    解决方案:                                                                ' a8 K) H/ _+ L
                                                                假设:你在用sql2005或更高版本。
# @& R* G1 A2 h( I0 G  C9 g% B& D3 u第一次创建索引时,我相信你需要把口音敏感度设置为开或关。4 V/ |; i6 ]0 P0 Z: C
CREATE FULLTEXT CATALOG AwCat WITH ACCENT_SENSITIVITY=OFFGO或更改它:
1 M2 J" g: G( O8 H& x7 rALTER FULLTEXT CATALOG AwCat REBUILD WITH ACCENT_SENSITIVITY=ONGO您可以在这里找到更多信息Microsoft SQL Server 9.0技术文章SQL Server0 N) a3 F) W# p' H' {
2005全文搜索:内部和增强功能
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则