我正在使用Spring数据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” 以查找位置“印度” 。
为此,我创建了一个TextCriteria,例如:
TextCriteria条件= 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