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

MongoDBでの全文検索では、@@@の期待される結果が得られません

    テキスト検索は、言語ヒューリスティック<に基づいて文字列にインデックスを付けるように設計されています。 / a> 。テキストのインデックス作成には、2つの一般的な手順が含まれます。トークン化 (文字列を個々の用語に変換する 関心のある)に続いて stemming (言語固有のルールに基づいてインデックスを作成するために、各用語をルート形式に変換します。)

    トークン化ステップ中に、特定の文字(たとえば、@などの句読記号) )は単語区切り文字(別名区切り文字)として分類されます )テキスト入力ではなく、元の文字列を用語に分割するために使用されます。言語固有のストップワード (英語の「the」、「is」、「on」などの一般的な単語)もテキストインデックスから除外されます。

    @@@の検索フレーズ以降 完全に区切り文字で構成されており、テキストインデックスに対応するエントリはありません。

    一般的な文字列パターンを照合する場合は、正規表現 テキスト検索ではなく。例:db.getCollection('TestCollection').find({field2:/@@@/}) 。ただし、インデックスの使用> 正規表現の場合。



    1. ログインまたはサインアップでmongodbが機能しないyii2

    2. MongoとNode.js:UUID(GUID)を使用して_idでドキュメントを検索する

    3. 独自のAzureアカウントを持参–ScaleGridでのMongoDB®およびRedis™のホスティング

    4. MongoDBの代替のようなPouchDB/CouchDB