2014-01-09 3 views
1

У меня есть мнение, какКак проверить Содержит в ключе просмотра в кушетке базе

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

С этой точки зрения я хочу все значение принадлежит Tenant.Id == 1 и User.Name где содержит « "

Я могу найти это в своем C#, собирая все данные Арендатора, принадлежащие конкретному идентификатору арендатора. Но у меня есть миллион данных для каждого Арендатора. Поэтому нужно проверить это на самой серверной стороне. Можно ли это найти.

+0

Есть ли замена идентификатора и буквы? То есть Иногда вы хотите найти идентификатор 2, а имя содержит F? – scalabilitysolved

ответ

1

Я предполагаю, что вы хотите изменить, какую букву вы ищете в строке, к сожалению, couchbase не будет лучшей вещью для этого типа запроса.

Если это всегда будет буква «a», которую вы хотите найти, вы можете сделать такую ​​карту, а затем запросить идентификатор.

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, который будет автоматически реплицироваться в ваш (ые) узел (ы).

Вот презентация по ЧС и Couchbase

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

документация для установки и начала работы с плагином ES

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

и прохладный учебника подробно, как добавить GUI поверх ваших данных ES для легкой фильтрации.

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