【问题标题】:Search engine that combines indexed text with user generated tags将索引文本与用户生成的标签相结合的搜索引擎
【发布时间】:2011-07-27 02:12:43
【问题描述】:

我需要一个可定制的搜索引擎,它将非结构化 HTML 文档的正常索引与用户生成的标签相结合,用于 Web 应用程序的每个文档。 我已经有一个为每个标签分配分数的算法,我想将文档相关标签的权重与搜索引擎的索引系统集成。

【问题讨论】:

  • 您需要更具体地了解如何比较常规文本上的搜索命中与标签上的命中。显然一个标签的权重会更高,但是在文本中找到多少个单词呢?

标签: tags search-engine semantics


【解决方案1】:

处理您的问题的最成熟的开源框架绝对是 Lucene。无论您是想以原生形式使用 Lucene 还是使用像 @steen 提到的 Solr 之类的抽象层,都取决于您。但基本思想很简单。

1- 准备您的源文档以进行索引。你可以使用 Tika 或者你可以使用任何本机 xml Parser,你应该没问题。 (当我的意思是准备时,您需要将文档分隔到各个字段中)。

2- 据我了解,您似乎不需要任何特殊的分析器,您可以使用标准分析器(与 lucene 一起打包)。只需确保在索引时使用“Analyzer_With_Norms”选项即可。

3- 如前所述,您需要 norms 选项的原因是,您现在可以在索引时为每个字段指定权重。

对于不熟悉 Lucene 的人来说,所有这些看起来都非常混乱。我建议阅读 Lucene In Action 书,以更好地了解 Lucene。

【讨论】:

    【解决方案2】:

    我肯定会选择Solr。 您必须进行一些自定义才能获得 HTML 索引:

    • 首先,您需要考虑 html 页面的哪些元素应该进入特定的 Solr 字段。您指出主题 html 是“非结构化”的,但如果这些页面有任何共同特征,您可以从将它们存储在索引中的单独字段中受益。
    • 你应该看看 tika HtmlParser 与 solr 一起使用 very well。

    关于使用户生成的标签为索引页面提供额外语义价值的问题,我建议阅读Solr Relevancy FAQ 以获取有关如何进行字段索引时间提升的信息

    【讨论】:

    • 感谢您的回答和参考。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-11
    • 2012-06-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多