我需要一些帮助来决定在单个Solr实例中创建单个索引与在单个Solr实例中创建多个核心,每个核心为索引提供服务.我的理解是,solr中的单个索引通常用于索引一种类型的文档.当您有不同的文档类型时,最佳做法是什么?例如,如果要索引发票交易的详细信息,可以创建一个包含发票交易凭证字段的模式,如下所示;
假设您还要索引产品的详细信息,是否可以使用以下模式创建新的文档类型;
并在Solr中创建一个新核心来索引产品文档?或者您将事务和产品合并到一个模式中,如下所示;
只有一个核心索引上述doucment,而不是有一个"Invoice"核心和一个"产品"核心索引两个不同的文件?
我认为当字段类似时,在Solr wiki中建议使用单个平坦索引是有意义的,但是在上面的示例中,数据甚至彼此之间没有远程相关,因为它们是独立的实体.我见过人们建议添加额外字段以区分不同实体(如表名字段或类似字段)的情况,并根据表名字段过滤查询,我猜这种情况有用.虽然当你有一个如下用例时,我不确定它的可扩展性有多远;
"搜索关键字'John'的发票,要搜索的字段是'billingContact','invoiceSummary','notes'.在查询时提升'billingContact'字段.还搜索产品'John',要搜索的字段是' productDescription','supplier','notes'.在查询时提升'供应商'.仅返回100个发票和100个产品."
我正在处理的应用程序需要从单个表单中搜索发票和产品.应用程序中没有不同的部分可以搜索不同的内容.
我把所有东西放在一个索引中的担忧;
1)指数大,例如:5000万张发票+ 5000万单一指数产品
2)重新索引该大小的索引.
3)索引调整:调整/调整每个单独的索引以提供特定的预期搜索结果,而不是尝试在单个索引中执行此操作不是更容易吗?
4)我们决定将来也会对结算联系方式进行索引.这将添加更多要编入索引的字段,并在第1)和第2点中对我的关注做出贡献.