sql >> データベース >  >> NoSQL >> MongoDB

MongoDB全文検索-一致する単語と正確なフレーズ

    テキスト検索を試して、正しく動作しないかどうかを確認しましたか? MongoDB 2.6.7では期待どおりに機能します:

    > db.test.drop()
    > db.test.insert({ "t" : "I'm on time, not late or delayed" })
    > db.test.insert({ "t" : "I'm either late or delayed" })
    > db.test.insert({ "t" : "Time flies like a banana" })
    > db.test.ensureIndex({ "t" : "text" })
    
    > db.test.find({ "$text" : { "$search" : "time late delay" } }, { "_id" : 0 })
    { "t" : "I'm on time, not late or delayed" }
    { "t" : "Time flies like a banana" }
    { "t" : "I'm either late or delayed" }
    
    > db.test.find({ "$text" : { "$search" : "late delay" } }, { "_id" : 0 })
    { "t" : "I'm on time, not late or delayed" }
    { "t" : "I'm either late or delayed" }
    
    > db.test.find({ "$text" : { "$search" : "late delay \"on time\"" } }, { "_id" : 0 })
    { "t" : "I'm on time, not late or delayed" }
    

    termsに「時間」があるのはなぜですか 説明の配列?なぜなら、フレーズ"on time" timeという用語はドキュメントで発生します またする必要があります。 MongoDBは、フレーズの検索に役立つ範囲でテキストインデックスを使用し、インデックスの結果をチェックして、フレーズ内の用語だけでなく、フレーズ全体に実際に一致するものを確認します。




    1. MongoDB Aggregation:個別のフィールドをカウントする

    2. マングースは配列からObjectIdをプルします

    3. C#を使用したMongoDB GridF、画像などのファイルを保存する方法は?

    4. MongoDB2.4.1がScaleGridで利用可能になりました