【发布时间】:2014-04-10 08:15:59
【问题描述】:
我正在尝试在我们的一张桌子上实现全文搜索,一切都运行顺利,除了涉及国际这个词。
在表格中,出现的单词的形式是intl、int'l和international,因此我在词库文件中反映了这一点:
<expansion>
<sub>intl</sub>
<sub>int'l</sub>
<sub>international</sub>
</expansion>
但是,在尝试进行此搜索时,它只会匹配 intl 和 international 以及需要精确搜索的 int'l。有什么方法可以将撇号包含在搜索中?
相关的查询部分是这样的(不完全是,但类似):
SELECT * FROM CustomerTable Where contains((CustomerName), 'FORMSOF(Thesaurus, "int''l")')
我决定看看它是用什么词来解析的
SELECT display_term as term FROM sys.dm_fts_parser ('FORMSOF(Thesaurus, "int''l")', 0, null, 0)
结果显示我正在拆分 int 和 l
+---------------+
| term |
+---------------+
| int |
| l |
| intl |
| international |
+---------------+
【问题讨论】:
标签: sql sql-server sql-server-2012 full-text-search