Cloudant Query с использованием оператора $ или выдает предупреждение - «не найден соответствующий индекс, создать индекс для оптимизации времени запроса», хотя индексирование присутствует? - PullRequest
0 голосов
/ 13 февраля 2019

Cloudant Query с использованием оператора $ или выдает предупреждение:

«не найден соответствующий индекс, создайте индекс для оптимизации времени запроса»

хотя индексирование присутствует?Пример информации приведен ниже:

Используемый индекс:

db.index({
ddoc: "document_id",
type: "json",
index: {
      fields: ["emailid", "mobileno"]
    }
});

Используемый запрос:

selector: {
    $or: [
      {
        emailid: email_id
      },
      {
        mobileno: mobile
      }
    ]
  }

1 Ответ

0 голосов
/ 14 февраля 2019

Вы можете найти проблему в проекте couchdb, где обсуждается нечто подобное. "$ или оператор медленный"

В этом выпуске делается вывод, что для выбора индекса должно присутствовать одно и то же поле по обе стороны от $.

Ваш случай не удовлетворяет этому условию, поэтому запрос возвращается к индексу _all_docs (полное сканирование содержимого БД)

...