2016-08-10 34 views
0

是否有任何解決方案通過多個搜索字符串 Couchbase中的鍵?Couchbase:通過多個字符串鍵搜索

比如我有一個指標:

emit(['example', doc.field1, doc.field2], doc.id); 

而且FIELD1場2是字符串變量。

我不能使用startkeyendkey因爲化合物數組索引關鍵字爲字符串還是處理。所以我有問題像this。但我也有字符串鍵。所以我不能使用Spatial Views

除了爲密鑰的每個部分找到多個結果集,然後找到它們的交集,還有其他解決方案嗎?

+0

當你說:「不能使用startkey和endkey,因爲複合數組索引鍵仍然被視爲字符串」,你能說清楚你的意思嗎? – avsej

+0

我的意思是使用複合鍵進行部分選擇(http://docs.couchbase.com/couchbase-manual-2.1/#partial-selection-with-compound-keys): >>此結構的限制是它是不可能忽略較早的數組值。 – poletaew

回答

1

如果您僅限於使用視圖,則正如您已經發現的那樣,無法通過獨立字段進行過濾。

如果您正在使用(或可以升級到)Couchbase 4.x的,那麼你就可以用一個簡單的N1QL查詢做到這一點:

SELECT * FROM bucket WHERE field1 = 'bla' AND field2 ='blabla' 

請務必在兩個字段創建索引:

CREATE INDEX ix_field1 ON bucket(field1) 
+0

不幸的是,我們使用Couchbase 2.x.所以我通過額外的索引來解決它。 – poletaew

+0

該索引應包含field1和field2。 – geraldss