[英]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.