2017-09-25 4 views
0

私は私の春のデータ/ MongoDBのアプリケーションでこの検索方法を使用します。春データ - MongoDBの - よりとリンク用語と

@Query("{$text : { $search : ?0 } }") 
List<DocumentFile> findBySearchString(final String searchString); 

私の質問は、私は私がどこDocumentFilesを得ることsearchStringのためで与える必要が何だろう2つの用語が存在する(例えば、term1 AND term2またはterm1 + term2)。 Spring DataやMongoDBとANDのようなものがありますか?

答えて

1

はい、あなたはコメント-ことができ、我々はMongoのテンプレートのmongoを使用して

Criteria regex = Criteria.where("name").regex("*.xxxx.*", "i"); 
    mongoOperations.find(new Query().addCriteria(regex), DocumentFile.class); 

を使用して、この

好きのあなたの最後のラウンドに基づいて、モンゴリポジトリ

List<DocumentFile> findByString1AndString2(String String1,String String2); 

[OK]を使用して達成することができますリポジトリ

List<DocumentFile> documents= repository .findByQuery(".*ab.*"); 
interface repository extends MongoRepository<DocumentFile, String> { 
    @Query("{'name': {$regex: ?0 }})") 
    List<DocumentFile> findByQuery(String name); 
} 

希望すると便利です。

+0

私は、term1とterm2を見つけるためにユーザーが与えることができることを意味します。ありがとう! – quma

+0

私はあなたが何を言っているのか理解していませんでした。 – jai

+0

不明な質問に申し訳ありません!フルテキスト検索であるか、それとも「好き」の検索であるかを制御するために、ユーザに検索入力の可能性を持たせますか? – quma

関連する問題