如何索引Solr中的不同来源?

时间:2011-05-12 10:29:40

标签: solr indexing schema-design edismax

如何在同一Solr架构中索引文本文件,网站和数据库?所有3个来源都是要求,我正在试图找出如何做到这一点。我做了一些例子,他们工作正常,因为他们彼此分开,现在我需要它们都是1个架构,因为用户将搜索所有这3个数据源。

我该怎么办?

1 个答案:

答案 0 :(得分:2)

您应该为每个内容来源草拟一些注释:

  • 可用的元数据
  • 如何访问信息
  • 我如何呈现信息

完成后,确定要搜索哪些元数据。其中一些可能仅对其中一个内容源(例如网页上的作者或数据库行中的任何给定字段)非常具体,而其他内容源将存在于所有来源中(例如唯一ID,标题,文本内容) )。使用copy-fields根据需要合并字段。

元数据在不同项目之间会有很大差异,但是 - 更新日期,文件名以及您可以从文本文件中解析的任何结构化数据等内容肯定会帮助您提高相关性。除此之外,它在不同情况下变化很大。也许文件路径提示您可以用作元数据的(可能是非正式的)分类法。也许文件名本身包含元数据(例如年份,关键字,产品名称等)。

准备在显示结果时为不同的来源使用不同的字段。 source字段在创建结果图块方面有很长的路要走 - 它可能会成为您最常用的方面。

广泛使用复制字段的另一种(也可能是首选的)方法是使用DisMax/EDisMax请求处理程序,以便于在多个字段中进行搜索。

考虑使用复制字段和(e)dismax的混合。例如,将所有字段复制到一个无需存储的全部文本字段中,并将其包含在搜索中,但具有较低的提升值,并包含高度加权的字段(例如标题,标题或关键字) ,或文件名)在搜索中。在dismax中调整了很多参数,但它绝对值得付出努力。