文本可以使用 markdown、bbcode、html 等存储在数据库中。我应该从搜索词中删除任何允许的标签吗?您的标记解析器有任何方法来协助完成该任务吗?
我将使用类似“%searchword%”的查询。全文搜索对于这种简单的文本搜索有什么优势吗?
更新:似乎有很多方法可以做到这一点。我会再澄清一下我的情况。这是一家公司的职位发布网站,大约有 5 或 7 个 varchar 列可供搜索(其中 4 个允许标记),在任何给定时间大约有 150 个活跃的职位发布。
最佳答案
如果您的文本中有任何类型的标记(例如 HTML),则在索引和搜索过程中可能无法获得很高的语言准确性。在这种情况下,您有两种选择 - 首选方法是将文本数据存储在 varbinary(max) 列中,并指示其文档类型,以便可以对其进行过滤。如果这不是一个选项,您可以考虑使用中性分词器,如果可能的话,将标记数据(例如 HTML 中的“br”)添加到干扰词列表中。
另请参阅:
替代方案:
关于.net - 如何搜索允许标记的数据库列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/737578/