我正在使用 SQL Server 2019。我在 SQL Server 全文搜索中以语言 XML 定义词库。
<XML ID="Microsoft Search Thesaurus">
<thesaurus xmlns="x-schema:tsSchema.xml">
<diacritics_sensitive>0</diacritics_sensitive>
<expansion>
<sub>DNA typing</sub>
<sub>genetic fingerprinting</sub>
</expansion>
</thesaurus>
</XML>
由于词库和前缀形式 (*) 不能在包含语句中使用,例如
SELECT *
FROM new_framework_text ft
WHERE CONTAINS (ft.text, N'FORMSOF (THESAURUS,"DNA typing*")')
通常,我使用此查询来获取结果,但实际上并没有返回所需的结果。
SELECT *
FROM new_framework_text ft
WHERE CONTAINS (ft.text, N'FORMSOF (THESAURUS, "DNA typing") OR "DNA typing*"')
上面,查询将返回带有“DNA 分型”、“基因指纹”和“DNA 分型*”的行。
它无法获取以“基因指纹*”的同义词词开头的行。
我不想在项目中编写静态代码,因为将来会有很多词库。
我搜索了互联网,但找不到任何有效的答案。
如何仅通过查询来获得所需的记录?