.net - 如何搜索允许标记的数据库列?

标签 .net sql-server-2005 search full-text-search markup

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

我将使用类似“%searchword%”的查询。全文搜索对于这种简单的文本搜索有什么优势吗?

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

最佳答案

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

另请参阅:

替代方案:

关于.net - 如何搜索允许标记的数据库列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/737578/

相关文章:

c# - 如何使用 c# 控制 youtube flash 播放器?

c# - 只读指定span

sql - 按子字符串对sql结果进行分组

SQL 用户定义函数,找不到 dbo 或用户定义函数

c# - 将 Double.NaN 与自身进行比较

.net - 串口嗅探

sql - 查找所有要查看的引用文献

python - 对于很长的字符串列表,什么是好的数据结构?

c# - MVC 如何在页面之间导航时保​​持搜索值?

search - 如何在TortoiseHg中搜索所有变更集中所有变更中的某个单词?