我有一个有多个不同产品类别的网上商店。 对于每个类别,我都有描述,元数据,图像和一些更具体类别的数据。 现在,我的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>
答案 0 :(得分:2)
一般来说,如果你像往常一样压扁(去标准化)一切,你的实现会更容易。如果你在不同的核心分离类别,Solr变得更难使用 - 你将需要额外的查询,额外的客户端代码,分面不会那么容易,等等 - 所有这些将导致性能损失,除此之外额外的实施困难。
从您提供的数字(保持在1GB索引大小以下?它不是那么大),我绝对不会分割出类别数据,它会让您的生活变得更加困难,因为没有多少实际收获。