Поисковые индексы написаны на JavaScript (на данный момент Cloduant запустил свой собственный «Cloudant Query», который обещает быть проще в работе, но у меня еще не было времени попробовать его как следует.)
Скажем, у вас есть документы в вашей БД, которые содержат поле с именем «Имя пользователя», и вы хотите создать представление обо всем этом. Вы можете написать такую функцию;
function(doc) {
if ( typeof doc.UserName !== "undefined" ) {
emit([doc.UserName], doc._id);
}
}
Например (он выведет имена пользователей и идентификаторы документов)
Если бы данное имя пользователя могло быть связано с несколькими документами, вы могли бы сделать это, например;
function(doc) {
if ( typeof doc.UserName !== "undefined" ) {
emit([doc.UserName,doc._id], 1);
}
}
а также использовать встроенные функции сокращения «счет» или «сумма», которые Cloudant предоставляет для подсчета количества документов, с которыми связано данное имя пользователя и т. д.
Вы можете использовать пользовательский интерфейс на панели управления Cloudant DB для выполнения запросов или (как мне лично нравится) использовать такой инструмент, как Postman (https://www.getpostman.com/)
Однако одно слово предупреждения; проверка кода JavaScript на ошибки и работоспособность практически отсутствует, и вы узнаете, что что-то не работает, только когда нажмете «сохранить и построить индекс», что может быть серьезной проблемой, если вы работаете с большими базы данных (это может остановить все это). Таким образом, профессиональный совет состоит в том, чтобы разработать свои индексы для небольших наборов данных в какой-нибудь безопасной маленькой базе данных-песочнице, прежде чем вы позволите ей потерять что-то важное...
Предполагается, что все это будет намного лучше с Cloudant Query.
person
SonarJetLens
schedule
05.09.2015