2

可以使用 markdown、bbcode、html 等将文本存储在数据库中。我应该从搜索词中删除任何允许的标签吗?您的标记解析器是否有任何方法可以帮助完成该任务?

我打算使用类似 '%searchword%' 的查询。全文搜索是否为这种简单的文本搜索提供了任何优势?

更新:似乎有很多方法可以做到这一点。我会再澄清一下我的情况。这是一个公司的招聘网站,大约有 5 或 7 个 varchar 列可供搜索(其中 4 个允许标记),在任何给定时间大约有 150 个有效的招聘信息。

4

3 回答 3

3

如果您的文本中有任何类型的标记(例如 HTML),则在索引和搜索期间您可能无法获得很高的语言准确性。在这种情况下,您有两种选择——首选方法是将文本数据简单地存储在 varbinary(max) 列中,并指明其文档类型以便对其进行过滤。如果这不是一个选项,您可以考虑使用中性分词器,并在可能的情况下将标记数据(例如 HTML 中的“br”)添加到干扰词列表中。

另见

替代品

于 2009-04-10T13:25:44.627 回答
2

我会使用一些外部全文搜索工具——例如,Lucene。

于 2009-04-10T13:14:29.550 回答
1

我会将该字段的条纹版本存储在单独的字段中并使用全文索引搜索。剥离的字段将使用触发器更新到最新版本

于 2009-04-10T13:23:01.653 回答