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