【问题标题】:Full text and tagged search in web application. What are my options?Web 应用程序中的全文和标记搜索。我有哪些选择?
【发布时间】:2016-01-12 05:26:25
【问题描述】:

我需要在我的网站上按文本和标签搜索文章。这样做我有什么选择?
我可以使用 Google 自定义搜索等服务吗?我需要全文搜索引擎吗?其他解决方案?有什么好处和坏处?
我需要按相关性对结果进行排名。拥有查询预测、建议、相关搜索等功能也会很棒

【问题讨论】:

  • 你现在的解决方案是什么?
  • @tdat00,我想我会用 Elasticsearch 来做。它可以做我想做的一切,并且有很好的 RESTful API

标签: c# asp.net full-text-search search-engine


【解决方案1】:

如果您的数据库是 SQL Server,那么您可以通过在 SQL Server Management Studio 的对象资源管理器中右键单击表名并选择Full-Text Index 来启用full-text index,如下面的屏幕截图所示。需要启用全文搜索的表必须有unique index,否则这将不起作用。

在您选择的列上创建全文索引后,您可以在查询中使用特殊的全文搜索功能。您可以阅读以下网址了解如何查询:MSDN Full-text Search QueriesFull-text Search in SQL Server`

【讨论】:

    【解决方案2】:

    您可以为此使用Lucence.Net。它是开源的,支持排名全文搜索...您只需将原始文本提供给它的索引器;当您搜索某些内容时,它会显示与您的模式相关的最相关条目。

    成本是它将您的数据索引到一个目录中,而不是重用 SQL 数据库。因此,您需要在更新数据库时同步/重建其索引。

    【讨论】:

      【解决方案3】:

      经过一些研究(感谢您的回答!)这就是我发现的

      • MS SQL 全文索引
        它让我可以通过全文和标签进行搜索,但让我来实现其余部分(建议、突出显示等)。

      • 弹性搜索引擎
        它让我可以按全文和标签、建议、突出显示和所有内容进行搜索。但我需要填充索引并使其与主数据库保持同步。

      Google Site Search 不是一个选项。它不能只搜索文章而不能搜索其他内容。它不能按标签搜索。 (虽然,我没有检查)

      对于 Lucene.Net,Elasticsearch 建立在 Lucene 之上,可以为我处理更多问题。此外,它还有很好的 RESTful API。

      现在我正在试验 Elasticsearch。我想我会将它用于该功能。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-10-10
        • 1970-01-01
        • 2011-03-31
        • 2010-11-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多