我需要爲某些數據集創建一個匹配取景器系統,具體如下:多參數匹配取景器與Redis的
有一組對象,每個識別出的由一個字符串ObjectID
。
每個對象都有N個屬性P i。每個屬性值都是一個字符串。
N = 3(實際生活中N = 8)的數據庫示例。
ObjectID: P1 P2 P3 -------------------------------- APPLE: RED ROUND FRUIT ORANGE: ORANGE ROUND FRUIT CARROT: RED LONG VEGETABLE
該系統必須返回集合ObjectID
s,匹配給定查詢對象屬性。在查詢中,用戶必須指定所有的屬性值。或者,對於查詢中的某些或全部屬性,用戶可以指定「通配符」,即任何屬性值都將與條件匹配。
查詢示例:
P1 P2 P3 => Result ------------------------------------ * ROUND FRUIT => APPLE, ORANGE RED LONG VEGETABLE => CARROT RED * * => CARROT, APPLE
所有這一切都與SQL是平凡完成。
現在的問題是:是否有一個乾淨的方式與Redis做到這一點?
請注意,我對Redis解決方案感興趣,專門用於自我教育目的;其他數據庫對於這個特定的問題是偏離主題的。
更新:有明確ObjectID
名單瑣碎的解決方案,每個P 我和應用側濾波看起來不整潔對我來說夠:-)
這是一個有趣的問題來回答。我期待着看到其他人能否想出更好的方法。我基本上做了「不重要的明確列表」,但在Redis方面做了過濾;)。我希望那已經夠整齊了。 –