У меня был вопрос об использовании find для поиска по ключевым словам 'by', 'и' ... в моих коллекциях, но в какой-то ситуации это было неправильно, кто-нибудь знает, как это исправить?
Это это моя коллекция и индексы:
db.stores.insert(
[
{ _id: 1, name: "Java Hut", description: "Coffee and cakes by Me" },
{ _id: 2, name: "Burger Buns", description: "by" },
{ _id: 3, name: "Coffee Shop", description: "Just coffee" },
{ _id: 4, name: "Clothes Clothes Clothes", description: "By Clothes" }
]
)
db.stores.createIndex( { name: "text", description: "text" } )
И с этими скриптами все будет в порядке
db.stores.find({description: /by/})
db.stores.find({description: /and/})
db.stores.find( { $text: { $search: "java coffee shop" } } )
db.stores.find( { $text: { $search: "\"coffee shop\"" } } )
db.stores.find( { $text: { $search: "\"and cakes by\"" } } )
db.stores.find( { $text: { $search: "and cakes by" } } )
db.stores.find( { $text: { $search: "cakes" } } )
db.stores.find( { $text: { $search: "coffee" } } )
Но что-то здесь идет не так, я не понимаю, почему ключевое слово 'by', 'and' , "я" ... не может использоваться в этом запросе. Почему что-то идет не так, когда я использую только его в текстовом поиске?
db.stores.find( { $text: { $search: "by" } } )
db.stores.find( { $text: { $search: "and" } } )
Если у вас есть do c или ссылка об этом, дайте мне. Или, если этот вопрос существовал где-то еще, дайте мне тоже.
Спасибо!
Отредактировано: аналогичный вопрос имеет другой Отключить фильтрацию стоп-слов в текстовом поиске MongoDB