我正在使用 Spring data mongodb 进行全文搜索。
我的用户域类是这样的:
@Document
public class User implements UserDetails{
@TextIndexed
private String name;
@TextIndexed
private String location;
}
我有两个用户对象:
user1(name:"dk",location:"Gurgaon, Haryana, India");
user2(name:"Peter",location:"india");
现在我想在用户 “dk” 中搜索位置 “india”。
为此,我创建了一个 TextCriteria,例如: TextCriteria criteria = TextCriteria.forDefaultLanguage().matching("dk").matching("india");
它同时搜索两个用户,即 user1 和 user2。这在 machingAny(String...texts) 的情况下是预期的。
我如何创建与要搜索的两个词匹配的查询。
最佳答案
在 Spring-data-mongodb 中,你可以这样做
TextCriteria criteria = TextCriteria.forDefaultLanguage().matchingPhrase("dk").matchingPhrase("india")
有关更多信息,您可以阅读本文 http://docs.mongodb.org/manual/reference/operator/query/text/#phrases
关于java - 使用 And 运算符进行 spring data mongodb 全文搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29974625/