我正在尋找一些關於如何正確設計索引文件以適合我的情況的模式的幫助和智慧。基本上我有可以屬於多個類別的產品。在這些類別中,這些產品可以或不可以被排序。理想情況下,我想每個產品只保留一個獨特的文檔。如何過濾/排序Solr中的多個類別中排序的文檔而不進行分組?
我使用Solr的3.4.0,目前具有這種結構的文檔:
{
productId : "1",
sku : "ABC123",
productName : "My Product",
categorySequence : ["123-1", "456-7", "789-noseq", "000-noseq"],
description : "Product description",
rating: "4.36"
}
的categorySequence就是我在遇到麻煩。這是一個多值字段,其中包含使用分類ID格式化的字符串,以及在該分類標識中用短劃線分隔的產品序列。如果產品未按照我隨意附加的「noseq」進行排序。
因爲我的產品可以在多個類別的存在,我做了categorySequence領域的過濾器這樣的查詢:
fq=categorySequence:123-*
這是爲我工作帶回僅是與ID類產品「123」。
但是現在我發現的問題是,你不能在多值字段上排序。我最初希望這將是一種快速的方式,以適當的順序對過濾後的產品進行分類。
我在這裏看到關於分組和爲同一產品提供多個文檔的其他建議。但是,我的產品可以存在很多類別,並且您可以想象會創建大量文檔。
我希望堅持代表單個產品的單一文檔。有人能幫助我指出正確的方向嗎?我想我基本上是在做一個過濾器和排序在二維領域?
這絕對是更簡潔的方式去,謝謝你的這種做法! – Ghosty