我是Solr的新手,我正在努力找出索引和搜索目录的最佳方法。
我们必须为多个制造商编制索引,每个制造商的每个国家/地区都有不同的目录。每个国家/地区的每个制造商的每个目录大约是8GB的数据。
我认为每个国家/地区的每个制造商都有一个索引可能更容易,并且可以通过某种方式告诉Solr在URL中搜索哪个索引。
这是最好的方法吗?如果是这样,我该怎么做?我该在哪里开始寻找?如果没有,最好的方法是什么?
我正在使用Solr 3.5
答案 0 :(得分:3)
一般来说,有两种方法可以解决这个问题:
将每个目录拆分为自己的核心,运行大型多核设置。这将使每个索引在物理上彼此分离,并允许您为每个核心使用不同的属性(语言等)和配置。这可能是实用的,但如果您计划同时搜索所有核心,则需要相当多的开销。以后可以轻松地将不同的内核拆分为在不同的服务器上运行 - 只需在不同的服务器上启动内核即可。
在一个核心中运行所有内容 - 如果不同目录的所有属性和属性相同,则添加两个字段 - 一个包含制造商,另一个包含国家/地区。当您需要限制特定国家/地区或制造商的匹配时,请对这些值进行过滤。它允许您轻松搜索完整的索引,并且可以通过复制或类似SolrCloud(4.0版)来实现可伸缩性。如果您需要多语言支持,则必须为每种语言提供一个字段,其中包含该语言所需的设置(例如词干)。
在Solr wiki上有一些关于此的信息,但我的建议是简单地尝试其中一种方法,看看是否能解决您的问题。转向其他解决方案不应该是太多的工作。最简单的实现是将所有内容保存在同一索引中。