Я разработчик приложения Couchbase/AngularJS/Express.js/Node.JS. Текущее состояние приложения - это начало тестирования пользователей. По мере того, как пользователи обращаются к новому приложению, пользователь хочет получить извлечение из Couchbase для проверки эффективности. Пользователь чувствует, что поиск слишком долго возвращается из Couchbase. Как опытный программист SQL и изучение N1QL, мой опыт SQL говорит мне, что запрос невозможен.Couchbase - Slow Retrieval
Процесс включает в себя следующее:
1700 до 1800 JSON Документы
Ожидаемый доход равен либо нулю, либо какие-то документы
Все документы невозможно (объясню позже).
Данные должны перемещаться по Атлантике, поскольку данные и приложение будут находиться на машине в Англии.
Пользователь вводит минимум три символа для поиска имени и ожидает, что список возвращаемых имен будет содержать введенные символы. Помните, что больше символов, введенных пользователем, приводит к гораздо более изысканному поиску. Проблема пользователя заключается в том, что для возврата требуется несколько секунд.
Оператор N1QL выглядит следующим образом:
SELECT id,
name,
abbr,
meta(bucket).id meta_id
FROM bucket
WHERE type = 'store'
and Upper(name) like Upper('%passedinname%’)
order by name
Если пользователь вводит, «ABC», оператор N1QL вернет всю информацию о документе в формате JSON, где магазин JSON документ содержит «ABC» в названии. Например, если бы я имел магазины с именем:
ABC Market
Марии AbC Deli
Оба документа вернутся. Как вы можете заметить, я должен держать регистр поиска нечувствительным. Это соответствует запросу пользователя.
Я просмотрел варианты в Couchbase. Я считаю, что нет надежных средств для увеличения скорости поиска. Я заглянул в Couchbase View. Я не вижу, как я могу применить к нему свою инструкцию N1QL. Сценарий couch.model.js позволяет только извлекать из представления. Это не позволяет ввести критерии поиска, а не ключевые значения.
Я заглянул в индекс Couchbase. Я не вижу, как я могу применить к нему свою инструкцию N1QL. Оператору N1QL по-прежнему нужно искать каждый документ JSON магазина для «пройденного имени».
Я даже просмотрел полный поиск текста Couchbase. Я не могу использовать этот параметр. Департамент разработал политику по его предотвращению.
Если у вас есть возможное решение, пожалуйста, сделайте предложение. Я благодарен всем предложениям с благодарностью.
ТИА Энтони
Спасибо за ответ. Похоже, что я могу использовать функцию SUFFIXES. Мне нужно будет узнать ожидаемый график обновления. Поскольку версия в настоящее время не содержит функцию SUFFIXES. –