我需要在我的网站上按文字和标签搜索文章。这样做有什么选择?
我可以使用Google Custom Search等服务吗?我需要全文搜索引擎吗?其他方案?有什么优点和缺点?
我需要按相关性排名的结果。此外,如果有查询预测,建议,相关搜索等功能,那就太棒了。
答案 0 :(得分:0)
如果您的数据库是SQL Server,则可以通过右键单击SQL Server Management Studio中对象资源管理器中的表名并启用full-text index
来启用Full-Text Index
,如下面的屏幕截图所示。需要启用全文搜索的表格必须为unique index
,否则无效。
在您选择的列上创建全文索引后,您可以在查询中使用特殊的全文搜索功能。您可以阅读以下网址查询:MSDN Full-text Search Queries和Full-text Search in SQL Server`
答案 1 :(得分:0)
您可以使用Lucence.Net。它是开源的,支持排名全文搜索...您只需要将其原始文本提供给其索引器;当您搜索某些内容时,它会显示与您的模式相关的最相关条目。
成本是它将您的数据索引到目录而不是重用SQL数据库。因此,在更新数据库时需要同步/重建其索引。
答案 2 :(得分:0)
经过一些研究(并感谢答案!),这就是我找到的内容
MS SQL全文索引
它让我通过全文和标签进行搜索,但最终由我来实现其余的(建议,突出显示等)。
Elasticsearch引擎
它让我搜索全文和标签,建议,突出显示和一切。但我需要填充索引并使其与主数据库保持同步。
Google Site Search不是一个选项。它不能仅搜索文章,也不能搜索其他内容。它无法按标签搜索。 (虽然,我没有检查)
对于Lucene.Net,Elasticsearch建立在Lucene上,为我处理更多问题。此外,它还有很好的RESTful API。
现在我正在尝试使用Elasticsearch。我想我会将它用于该功能。