如何在同一个 Solr 架构中索引文本文件、网站和数据库?所有 3 个来源都是必需的,我正在尝试弄清楚如何去做。我做了一些示例,它们工作正常,因为它们彼此分开,现在我需要它们全部为 1 个模式,因为用户将在所有这 3 个数据源中进行搜索。
我应该如何进行?
如何在同一个 Solr 架构中索引文本文件、网站和数据库?所有 3 个来源都是必需的,我正在尝试弄清楚如何去做。我做了一些示例,它们工作正常,因为它们彼此分开,现在我需要它们全部为 1 个模式,因为用户将在所有这 3 个数据源中进行搜索。
我应该如何进行?
您应该为每个内容来源草拟一些注释:
完成后,确定要使哪些元数据可搜索。其中一些可能只针对一个内容源(例如网页上的作者,或数据库行中的任何给定字段),而另一些将出现在所有源中(例如唯一 ID、标题、文本内容)。根据需要使用复制字段来合并字段。
元数据会因项目而异,但是是的——更新日期、文件名以及您可以从文本文件中解析出来的任何结构化数据肯定会帮助您提高相关性。除此之外,它因情况而异。也许文件路径暗示了您可以用作元数据的(可能是非正式的)分类法。也许文件名本身包含元数据(例如年份、关键字、产品名称等)。
准备好在显示结果时为不同的来源使用不同的字段。字段在source
创建结果图块方面大有帮助——它可能是您最常用的方面。
广泛使用复制字段的另一种(可能是首选)方法是使用DisMax/EDisMax请求处理程序,以方便在多个字段中进行搜索。
考虑混合使用复制字段和 (e)dismax。例如,将不需要存储的所有字段复制到包罗万象的文本字段中,并将其包含在搜索中,但提升值较低,并包含高权重字段(例如标题、标题或关键字)或文件名)在搜索中。在 dismax 中有很多参数需要调整,但绝对值得付出努力。