Solr:将类别数据和产品数据拆分为不同 cores/instances?
Solr: split category data and product data over different cores/instances?
我有一个网上商店,有多个不同的产品类别。
对于每个类别,我都有描述、元数据、图像和一些更多类别特定数据。
现在,我的数据-config.xml 如下所示。
但是,我认为通过这种方式我可以为每个产品单独索引所有类别特定数据,因此占用的 space 比需要的多得多。
我现在正在考虑将类别特定数据的索引和存储移动到单独的 solr core/instance,这样我基本上将产品特定数据和类别数据分开了。
这个推理正确吗?将特定于类别的数据移出此 core/instance 是否更好?
<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>
一般来说,如果像您所做的那样扁平化(去规范化)所有内容,您的实施会更容易。如果您在不同的核心中分离类别,Solr 将变得更难使用——您将需要额外的查询、额外的客户端代码、分面将不会那么容易工作,等等——所有这些都会导致性能下降,最重要的是额外的实施困难。
从你给出的数字来看(保持在 1GB 索引大小?它不是那么大),我肯定不会采用拆分类别数据的方式,这会让你的生活更加艰难,而且没有太大的实际收益。
我有一个网上商店,有多个不同的产品类别。 对于每个类别,我都有描述、元数据、图像和一些更多类别特定数据。 现在,我的数据-config.xml 如下所示。
但是,我认为通过这种方式我可以为每个产品单独索引所有类别特定数据,因此占用的 space 比需要的多得多。 我现在正在考虑将类别特定数据的索引和存储移动到单独的 solr core/instance,这样我基本上将产品特定数据和类别数据分开了。
这个推理正确吗?将特定于类别的数据移出此 core/instance 是否更好?
<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>
一般来说,如果像您所做的那样扁平化(去规范化)所有内容,您的实施会更容易。如果您在不同的核心中分离类别,Solr 将变得更难使用——您将需要额外的查询、额外的客户端代码、分面将不会那么容易工作,等等——所有这些都会导致性能下降,最重要的是额外的实施困难。
从你给出的数字来看(保持在 1GB 索引大小?它不是那么大),我肯定不会采用拆分类别数据的方式,这会让你的生活更加艰难,而且没有太大的实际收益。