2014-01-09 17 views
1

我有一個像如何檢查包含在沙發基地視圖中的關鍵

function (doc, meta) 
    { 
    if(doc.Tenant) 
    { 
    emit([doc.Tenant.Id,doc.Tenant.User.Name],doc); 
    } 
    } 

一個視圖在此視圖我希望所有的值屬於Tenant.Id == 1和User.Name其中包含「一個「

我可以通過收集屬於特定Tenant Id的所有Tenant數據在我的C#中進行搜索。 但是我對每個租戶都有數百萬的數據。所以需要在服務器端檢查這一點。 這是可能的搜索。

+0

是否要更改ID和字母?即有時你會想搜索id 2並且名字包含F? – scalabilitysolved

回答

1

我猜你希望能夠改變你在字符串中搜索哪個字母,不幸的是couchbase不會成爲這種查詢的最佳選擇。

如果它總是你想要搜索的字母'a',那麼你可以做一個這樣的地圖,然後查詢ID。

function (doc, meta) { 

    if(doc.Tenant) { 
    var name = doc.Tenant.User.Name.toLowerCase(); 
    if(name.indexOf("a") > -1) {  
     emit(doc.Tenant.Id,null); 
    } 
    } 
} 

然而,如果你希望能夠動態地改變其信,​​甚至串您要搜索的名字,那麼你要考慮像elasticsearch(偉大的文本搜索)。 Couchbase有一個elasticsearch傳輸插件,可以自動複製到您的elasticsearch節點。

這裏是ES和Couchbase介紹

http://www.slideshare.net/Couchbase/using-elasticsearch-and-couchbase-together-to-build-large-scale-applications

安裝和文檔入門與ES插件

http://docs.couchbase.com/couchbase-elastic-search/

性涼教程,詳細說明了如何添加在ES數據之上的GUI,以便於過濾。

http://blog.jeroenreijn.com/2013/07/visitor-analysis-with-couchbase-elasticsearch.html