Avr*_*rom 5 sql-server full-text-search
我想知道如何在全文搜索中从索引中排除撇号。
例如,如果有人输入“o'brien”或“obrien”的搜索词,我希望它匹配某人的名字与“O'Brien”或“OBrien”匹配的所有情况。
但是,如果我搜索:
select * from MyTable where contains (fullName, '"o''Brien*"')
Run Code Online (Sandbox Code Playgroud)
它只返回带有撇号的那些。但如果我这样做:
select * from MyTable where contains (fullName, '"oBrien*"')
Run Code Online (Sandbox Code Playgroud)
它只返回没有撇号的那些。
简而言之,我想知道 FTS 是否可以将“O'Brien”和“OBrien”都索引为“obrien”,以便我可以找到两者。
而解决方案:
select * from MyTable where contains (fullName, '"oBrien*" OR "o''Brien*"')
Run Code Online (Sandbox Code Playgroud)
会起作用,但是,如果用户输入“obrien”,我无法做出这个假设。
我正在寻找适用于 SQL Server 2005 和 2008 的解决方案。
| 归档时间: |
|
| 查看次数: |
1908 次 |
| 最近记录: |