SQL言語などのMongoDB/mongooseの「like」ステートメントにはありますか? 使用する唯一の理由は、全文検索の実装です。
1509 次
5 に答える
7
MongoDBはRegularExpressionsをサポートしています。
于 2012-05-29T05:33:11.777 に答える
2
mongodb の Java API を使用して正規表現を実装するには、次の 2 つの方法があります。
式 1: ドキュメント フィールドのその文字列から検索を開始する必要があります
String strpattern ="your regular expression";
Pattern p = Pattern.compile(strpattern);
BasicDBObject obj = new BasicDBObject()
obj.put("key",p);
例:(名前が「a」で始まる場所ならどこでも検索したいと考えてください)
String strpattern ="^a";
Pattern p = Pattern.compile(strpattern);
BasicDBObject obj = new BasicDBObject()
obj.put("name",p);
式 2:
1 つのフィールドで複数の単語を検索する必要があります。次のように使用できます。
String pattern = "\\b(one|how many)\\b";
BasicDBObject obj = new BasicDBObject();
//if you want to check case sensitive
obj.put("message", Pattern.compile(pattern,Pattern.CASE_INSENSITIVE));
于 2012-08-24T11:07:50.007 に答える
0
正規表現を使用: /^textforesarc$/i. パフォーマンスに別れを告げることを忘れないでください:)。like で正規表現検索をシミュレートしても、カスタム定義のインデックスにヒットしません。現在のところ、で始まるのみがサポートされています。
于 2012-07-12T23:35:54.570 に答える
0
データをトークン (単語) に変換するスクリプトをアプリケーション レベルで作成することを検討してください。次に、トークンをタグとして扱い、それらのトークンにインデックスを作成してから、タグを検索するようにトークンを検索します。これは逆索引を作成するようなものです。
テキストの検索機能を向上させるには、MongoDB の代わりに Lucene を使用することを検討してください。
于 2012-06-28T21:26:13.863 に答える