繁体   English   中英

在Solr中存储类别信息

[英]Store category information in Solr

我的solr数据库中存储了产品信息。 产品可以属于多个类别。

现在,我想将有关这些类别的信息存储在属于这些类别的产品中。 (还有其他方法吗?)

因此,假设产品A属于类别C1和C2,且ID为I1和I2。 现在如何在产品A中存储I1到C1的映射? 这样做的模式应该是什么?

但是,如果仅存储ID,名称和其他数据(例如URL)的列表,则每个ID到名称或URL的映射都将丢失。 像这样:

<field name="category_ids" type="tints" indexed="true" stored="true"/>
<field name="category_names" type="strings" indexed="true" stored="true"/>

那么我应该如何存储文件呢?

您所描述的工作方式-Solr将保持字段之间的顺序相同,因此您可以假定字段category_ids中的第一个值与字段category_names的第一个值相对应。 我们使用它在几个多值字段中为更复杂的对象建立索引。

第二种解决方案是使用类别ID在中间件中查找实际的类别信息,并在数据库中查询相关信息。 如果名称更改,这将避免必须为一个类别的所有文档重新编制索引(除非您使用名称进行查询,否则无论选择哪种解决方案,都需要重新编制索引)。

第三种解决方案是让一个字段同时包含ID,名称和序列化名称(例如3;Laptops或JSON),并且仅存储该字段而不对其建立索引(并使用经过索引的未存储字段进行实际搜索)。

您也可以将子文档用于此类操作,但我个人认为这会给您带来不必要的复杂性。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM