MongoDB
 Computer >> コンピューター >  >> プログラミング >> MongoDB

MongoDBでテキスト検索用のインデックスを作成します


ドキュメントを使用してコレクションを作成しましょう-

> db.demo331.insertOne({"Words":"This is a MySQL"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e521c35f8647eb59e562089")
}
> db.demo331.insertOne({"Words":"THIS is a MongoDB"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e521c36f8647eb59e56208a")
}

find()メソッドを使用してコレクションからすべてのドキュメントを表示する-

> db.demo331.find();

これにより、次の出力が生成されます-

{ "_id" : ObjectId("5e521c35f8647eb59e562089"), "Words" : "This is a MySQL" }
{ "_id" : ObjectId("5e521c36f8647eb59e56208a"), "Words" : "THIS is a MongoDB" }

以下は、テキスト検索用のインデックスを作成するためのクエリです-

> db.demo331.createIndex( {Words: "text" } );
{
   "createdCollectionAutomatically" : false,
   "numIndexesBefore" : 1,
   "numIndexesAfter" : 2,
   "ok" : 1
}
> db.demo331.find({$text:{$search:"MySQL"}});

これにより、次の出力が生成されます-

{ "_id" : ObjectId("5e521c35f8647eb59e562089"), "Words" : "This is a MySQL" }

  1. MySQLで区切り文字間のテキストを検索しますか?

    LOCATE()をSUBSTR()と一緒に使用する必要があります。以下の構文は、区切り文字の後の単語を検索します。ここで、区切り文字はコロン(:)です。別の区切り文字を使用できます。つまり、それはあなた次第です。構文は次のとおりです- SELECT SUBSTR(yourColumnName, LOCATE(':',yourColumnName)+1, (CHAR_LENGTH(yourColumnName) - LOCATE(':',REVERSE(yourColumnName)) - LOCATE(':',

  2. Javaを使用してMongoDBでインデックスを作成するにはどうすればよいですか?

    MongoDBでインデックスを作成するには、 createIndex()を使用する必要があります メソッド。 構文 db.COLLECTION_NAME.createIndex({KEY:1}) ここで、キーはインデックスを作成するファイルの名前であり、1は昇順です。降順でインデックスを作成するには、-1を使用する必要があります。 Javaでは、 createIndex()を使用してインデックスを作成できます メソッド、このメソッドには、インデックスのタイプ(昇順または降順)とインデックスを作成するフィールド名を-として渡す必要があります。 createIndex(Indexes.desci