ms-dred
@ms-dred
Вечно что то не то и что то не так...

Почему запрос выполняется более 3-х секунд?

Есть документы вида
{
    _id: ...,
    description: " slovo slovo2 slovo3 ...."
}

В поле description скидываю весь текст по которому можно найти документ
Для этого поля создал индекс
db.collection.createIndex({ description: "text" })
Делаю простую выборку
return Collection.find({
    $text: { $search: "slovo slovo2" }
}).limit(10)

Данный запрос выполняется относительно быстро, всего за 60ms
Но мне нужно сделать еще и сортировку, подсчитать "вес документа" и отсортировать их, поэтому делаю следующее
return Collection.find(
    { $text: { $search: "slovo slovo2" } },
    { score: { $meta: "textScore" } }
).limit(10)

Теперь запрос выполняет более чем за 3 секунды, почему так? Может быть нужно еще какой то индекс создать для score? Хотя пробовал и не помогло... (db.collection.createIndex({score: 1}))
  • Вопрос задан
  • 45 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы