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