我使用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”以查找位置“india”。
为此,我创建了一个TextCriteria,如: TextCriteria criteria = TextCriteria.forDefaultLanguage()。matching(“dk”)。matching(“india”);
并且它搜索两个用户,即user1和user2。在machingAny(String ... texts)的情况下,这是预期的。
如何创建与要搜索的单词匹配的查询。
答案 0 :(得分:4)
在Spring-data-mongodb中你可以这样做
TextCriteria criteria = TextCriteria.forDefaultLanguage().matchingPhrase("dk").matchingPhrase("india")
有关详细信息,请参阅此内容 http://docs.mongodb.org/manual/reference/operator/query/text/#phrases