Я знаю, что на эту тему уже много, но ни один из вопросов не помогает мне в этом.У меня есть File-Upload-System через GridFS, которая генерирует такие документы:
{ "_id" : ObjectId( "4f3723607b5c0b8d01060000" ),
"filename" : "7326_150970547928_746052928_2521002_2164327_n.jpg",
"filetype" : "image/jpeg",
"title" : "Indexed File 1",
"author" : "chewbacca",
"document" : "Rechnungen",
"keywords" : { "0" : "Darth",
"1" : "Vader",
"2" : "Haut",
"5" : "Putz",
"6" : "Pushy" },
"uploadDate" : Date( 1329013600519 ),
"length" : 61423,
"chunkSize" : 262144,
"md5" : "c73cce0bb6f349007635751f9a1a7ddd" }
Как вы можете видеть, у меня есть поле «ключевые слова», которое представляет собой массив ключевых слов.Я хочу создать опцию поиска для поиска в этом поле, сравнимую с полнотекстовым поиском.Поэтому я проиндексировал поле «ключевые слова» отдельно.
db.fs.files.ensureIndex({ keywords : 1 })
Теперь проблема в том, что это иногда работает.Или сказать вчера, что он работал на некоторых файлах, но на некоторых он ничего не найдет.
Предполагая, что я выполнил индексирование, как описано выше, я бы подумал, что
> db.fs.files.find({keywords : "Vader"})
даст мнедокумент напечатан выше.Или я что-то упустил ??
(Мое единственное объяснение, почему это может быть, таково: создание индексов занимает много времени, и оно еще не готово, что практически невозможно, или чтонекоторая проблема с опциями 'background', 'dropDups', 'unique' и т.д ...
Я попробовал все. Я удалил индексы с помощью;
> db.fs.files.dropIndexes()
И создал их сноваВсегда контролирую с помощью
> db.fs.files.getIndexes()
Но нет, я не могу получить никаких результатов ...
Я также пытался выполнить индексацию через PHP сразу после сохранения файла в базе данных.Для этого я использую следующий код:
$gridFS->ensureIndex(array('keywords' => 1), array("unique" => true));
Или также без уникальной опции.
Как я уже говорил, иногда это работает, и я могу запрашивать ключевые слова, но иногда яне может. Или некоторые ключевые слова найдены, но других документов нет. Может быть, индексы не созданы для каждого документа одинаково ???
Пожалуйста, кто-нибудь поможет мне в этом, я действительно неЗдесь проблема не возникает!
Спасибо уже.