Solr:在不同的核心/实例上拆分类别数据和产品数据?

时间:2015-07-20 15:01:47

标签: solr

我有一个有多个不同产品类别的网上商店。 对于每个类别,我都有描述,元数据,图像和一些更具体类别的数据。 现在,我的data-config.xml如下所示。

但是,我认为这样我就是为每个产品单独索引所有类别特定数据,因此占用的空间比所需要的多得多。 我现在正在考虑将类别特定数据的索引和存储移动到单独的solr核心/实例,这样我基本上将产品特定数据和类别数据分开。

这种推理是否正确?将类别特定数据移到此核心/实例之外是否更好?

<document name="shopitems">
    <entity name="shopitem" pk="id" query="select * from products" >        
        <field name="id" column="ID" />
        <field name="articlenr" column="articlenr" />           
        <field name="title" column="title" />

        <entity name="catdescription" query="select 
            pagetitle_de as cat_pagetitle_de,pagetitle_en as cat_pagetitle_en
            ,description as cat_description
            ,metadescription as cat_metadescription 
            FROM products_custom_cat_descriptions where articlegroup = '${shopitem.articlegroup}'">
        </entity>
    </entity>
</document>

1 个答案:

答案 0 :(得分:2)

一般来说,如果你像往常一样压扁(去标准化)一切,你的实现会更容易。如果你在不同的核心分离类别,Solr变得更难使用 - 你将需要额外的查询,额外的客户端代码,分面不会那么容易,等等 - 所有这些将导致性能损失,除此之外额外的实施困难。

从您提供的数字(保持在1GB索引大小以下?它不是那么大),我绝对不会分割出类别数据,它会让您的生活变得更加困难,因为没有多少实际收获。